blob: 17094378680db358d223528701c91be3633c8835 [file]
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
}
# Composer's class initializer doesn't do anything but create an EMPTY object. Marking the
# initializers as having no side effects can help encourage shrinkers to merge/devirtualize Composer
# with ComposerImpl.
-assumenosideeffects public class androidx.compose.runtime.Composer {
void <clinit>();
}
-assumenosideeffects public class androidx.compose.runtime.ComposerImpl {
void <clinit>();
}
# Keep all the functions created to throw an exception. We don't want these functions to be
# inlined in any way, which R8 will do by default. The whole point of these functions is to
# reduce the amount of code generated at the call site.
-keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.runtime.** {
# java.lang.Void == methods that return Nothing
static void throw*Exception(...);
static void throw*ExceptionForNullCheck(...);
static java.lang.Void throw*Exception(...);
static java.lang.Void throw*ExceptionForNullCheck(...);
# For functions generating error messages
static java.lang.String exceptionMessage*(...);
java.lang.String exceptionMessage*(...);
static void compose*RuntimeError(...);
static java.lang.Void compose*RuntimeError(...);
}
# Runtime uses this field to enable group key based stack trace collection.
-assumevalues class androidx.compose.runtime.tooling.ComposeStackTraceMode {
private static boolean isMinified return true;
}
# Assume the experimental link-buffer composer is not enabled
-assumevalues public class androidx.compose.runtime.ComposeRuntimeFlags {
static boolean isLinkBufferComposerEnabled return false;
}