| # ServiceLoader support |
| -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} |
| -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} |
| |
| # Most of volatile fields are updated with AFU and should not be mangled |
| -keepclassmembernames class kotlinx.** { |
| volatile <fields>; |
| } |
| |
| # Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater |
| -keepclassmembernames class kotlin.coroutines.SafeContinuation { |
| volatile <fields>; |
| } |
| |
| # These classes are only required by kotlinx.coroutines.debug.AgentPremain, which is only loaded when |
| # kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used. |
| -dontwarn java.lang.instrument.ClassFileTransformer |
| -dontwarn sun.misc.SignalHandler |
| -dontwarn java.lang.instrument.Instrumentation |
| -dontwarn sun.misc.Signal |