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

# Keep the application entry point. Get rid of everything that is not
# reachable from there.
-keep public class annotationremoval.Annotationremoval {
  public static void main(...);
}

-keepclassmembers class annotationremoval.OuterClass {
  public int getValueFromInner(...);
}

-keepattributes InnerClasses,EnclosingMethod

# Examples are too simple and side-effects free, and thus can be easily inlined/pruned.
-dontoptimize
