| # Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file | 
 | # for details. All rights reserved. Use of this source code is governed by a | 
 | # BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | # TODO(b/204058761): Remove when we can use test proguard options. | 
 | -keep @com.android.tools.r8.Keep class * { public *; } | 
 | -keep @com.android.tools.r8.KeepForSubclassing class * { public *; protected *; } | 
 | -keepclasseswithmembers class * { @com.android.tools.r8.KeepMethodForCompileDump <methods>; } | 
 |  | 
 | # Keep all things that can be reached from the retrace api and keep the annotation | 
 | -keep @com.android.tools.r8.KeepForRetraceApi class * { public *; } | 
 |  | 
 | -keep public class com.android.tools.r8.D8 { public static void main(java.lang.String[]); } | 
 | -keep public class com.android.tools.r8.R8 { public static void main(java.lang.String[]); } | 
 | -keep public class com.android.tools.r8.ExtractMarker { public static void main(java.lang.String[]); } | 
 |  | 
 | -keep public class com.android.tools.r8.Version { public static final java.lang.String LABEL; } | 
 | -keep public class com.android.tools.r8.Version { public static java.lang.String getVersionString(); } | 
 | -keep public class com.android.tools.r8.Version { public static int getMajorVersion(); } | 
 | -keep public class com.android.tools.r8.Version { public static int getMinorVersion(); } | 
 | -keep public class com.android.tools.r8.Version { public static int getPatchVersion(); } | 
 | -keep public class com.android.tools.r8.Version { public static java.lang.String getPreReleaseString(); } | 
 | -keep public class com.android.tools.r8.Version { public static boolean isDevelopmentVersion(); } | 
 |  | 
 | -keepattributes SourceFile, LineNumberTable, InnerClasses, EnclosingMethod, Exceptions, Signature, RuntimeInvisibleAnnotations | 
 |  | 
 | -keepparameternames | 
 | -repackageclasses com.android.tools.r8.internal | 
 |  | 
 | # Compatibility command line program used by the Android Platform build. | 
 | -keep public class com.android.tools.r8.compatproguard.CompatProguard { public static void main(java.lang.String[]); } | 
 |  | 
 | # TODO(b/176783536): Avoid need to use -dontwarn. | 
 | -include dontwarn.txt | 
 |  | 
 | # TODO(b/185756596): Remove when no longer needed | 
 | -keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade { | 
 |   com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate; | 
 | } | 
 | -keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class { | 
 |   com.android.tools.r8.jetbrains.kotlin.Lazy classData$delegate; | 
 | } | 
 | -keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass { | 
 |   com.android.tools.r8.jetbrains.kotlin.Lazy functionData$delegate; | 
 | } | 
 | -keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart { | 
 |   com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate; | 
 | } | 
 | -keep class com.android.tools.r8.jetbrains.kotlin.SafePublicationLazyImpl { | 
 |   java.lang.Object getValue(); | 
 | } | 
 | # Test in this class is using the class name to fing the original .java file. | 
 | -keep class com.android.tools.r8.ir.desugar.varhandle.VarHandleDesugaringMethods | 
 |  | 
 | # Keep everything in the annotations package of keepanno. | 
 | # These are public API as they denote the supported annotations to be interpreted by R8. | 
 | -keep class com.android.tools.r8.keepanno.annotations.** { *; } |