Initial push.
diff --git a/src/test/examples/shaking11/Shaking.java b/src/test/examples/shaking11/Shaking.java
new file mode 100644
index 0000000..6dd396f
--- /dev/null
+++ b/src/test/examples/shaking11/Shaking.java
@@ -0,0 +1,10 @@
+// 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.
+package shaking11;
+
+public class Shaking {
+
+ public static void main(String[] args) {
+ }
+}
diff --git a/src/test/examples/shaking11/Subclass.java b/src/test/examples/shaking11/Subclass.java
new file mode 100644
index 0000000..e6b2973
--- /dev/null
+++ b/src/test/examples/shaking11/Subclass.java
@@ -0,0 +1,8 @@
+// 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.
+package shaking11;
+
+public class Subclass extends SuperClass {
+ // Intentionally empty.
+}
diff --git a/src/test/examples/shaking11/SubclassWithMethod.java b/src/test/examples/shaking11/SubclassWithMethod.java
new file mode 100644
index 0000000..073d352
--- /dev/null
+++ b/src/test/examples/shaking11/SubclassWithMethod.java
@@ -0,0 +1,11 @@
+// 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.
+package shaking11;
+
+public class SubclassWithMethod extends SuperClass {
+
+ public void aMethod() {
+ // Intentionally empty.
+ }
+}
diff --git a/src/test/examples/shaking11/SuperClass.java b/src/test/examples/shaking11/SuperClass.java
new file mode 100644
index 0000000..1c0fc8f
--- /dev/null
+++ b/src/test/examples/shaking11/SuperClass.java
@@ -0,0 +1,11 @@
+// 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.
+package shaking11;
+
+public class SuperClass {
+
+ public void aMethod() {
+ // Intentionally empty.
+ }
+}
diff --git a/src/test/examples/shaking11/keep-rules-keep-method.txt b/src/test/examples/shaking11/keep-rules-keep-method.txt
new file mode 100644
index 0000000..8b65519
--- /dev/null
+++ b/src/test/examples/shaking11/keep-rules-keep-method.txt
@@ -0,0 +1,18 @@
+# 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
diff --git a/src/test/examples/shaking11/keep-rules.txt b/src/test/examples/shaking11/keep-rules.txt
new file mode 100644
index 0000000..0a58c01
--- /dev/null
+++ b/src/test/examples/shaking11/keep-rules.txt
@@ -0,0 +1,16 @@
+# 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(...);
+}
+
+-keepclasseswithmembers class * {
+ public void aMethod();
+}
+
+# allow access modification to enable minifcation
+-allowaccessmodification