# Copyright (c) 2021, 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.

# The retrace api is separated out without repackaging which is why this broad
# rule is used.
-keep public class com.android.tools.r8.retrace.* {
     public <methods>;
     public <fields>;
 }
-keepattributes SourceFile, LineNumberTable, InnerClasses, EnclosingMethod, Exceptions, Signature
-keepparameternames
# This is run on r8lib so keep everything in lib that is traced. That way
# we only need a single mapping file
-keep,allowshrinking class * { *; }