| # Copyright (c) 2019, 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/133091438,b/139344231) These rules are needed for applymapping but should be able to be | 
 | # removed when we have --classpath. | 
 | -keepclassmembers,allowobfuscation class com.android.tools.r8.ir.optimize.MemberPoolCollection { | 
 |   *** buildForHierarchy(...); | 
 | } | 
 | -keepclassmembers,allowobfuscation class com.android.tools.r8.jar.CfApplicationWriter { | 
 |   void write(com.android.tools.r8.ClassFileConsumer,java.util.concurrent.ExecutorService); | 
 |   void writeApplication(com.android.tools.r8.ClassFileConsumer,java.util.concurrent.ExecutorService); | 
 | } | 
 | -keep class com.android.tools.r8.BaseCommand { | 
 |   com.android.tools.r8.utils.AndroidApp getInputApp(); | 
 | } | 
 |  | 
 | # Obfuscating the members below can result in naming-conflicts so just keep them. | 
 | -keep class com.android.tools.r8.joptsimple.OptionDescriptor { | 
 |   java.lang.String argumentDescription(); | 
 | } | 
 |  | 
 | # We should support reserved names and compute the set based on the tests. | 
 | -keep class com.android.tools.r8.shaking.** { *; } |