1# When editing this file, update the following files as well:
2# - META-INF/proguard/coroutines.pro
3# - META-INF/com.android.tools/proguard/coroutines.pro
4
5# Most of volatile fields are updated with AFU and should not be mangled
6-keepclassmembers class kotlinx.coroutines.** {
7    volatile <fields>;
8}
9
10# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
11-keepclassmembers class kotlin.coroutines.SafeContinuation {
12    volatile <fields>;
13}
14
15# These classes are only required by kotlinx.coroutines.debug.AgentPremain, which is only loaded when
16# kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used.
17-dontwarn java.lang.instrument.ClassFileTransformer
18-dontwarn sun.misc.SignalHandler
19-dontwarn java.lang.instrument.Instrumentation
20-dontwarn sun.misc.Signal
21
22# Only used in `kotlinx.coroutines.internal.ExceptionsConstructor`.
23# The case when it is not available is hidden in a `try`-`catch`, as well as a check for Android.
24-dontwarn java.lang.ClassValue
25
26# An annotation used for build tooling, won't be directly accessed.
27-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement