# 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 assumevalues5.Assumevalues {
  public static void main(...);
}

# Mark some methods to have known return value.
-assumevalues public class assumevalues5.Assumevalues {
  public static boolean methodTrue(...) return false;
  public static boolean methodFalse(...) return true;
}

# Allow access modification to enable minifcation.
-allowaccessmodification
