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

-keep class shaking11.SuperClass {}

-keep class shaking11.Sub* {
  public void aMethod();
}

# allow access modification to enable minifcation
-allowaccessmodification
