# Copyright (c) 2017, 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 assumenosideeffects2.Assumenosideeffects {
  public static void main(...);
}

# Mark the println on java.io.PrintStream to have no side effects using a
# wildcard (non-specific) rule.
-assumenosideeffects public class java.io.PrintStr* {
  public void println(...);
}

# Allow access modification to enable minification.
-allowaccessmodification
