Class merging across nests
- Disable Vertical class merger when merging
across nests or from nest to non-nest.
- Disable Horizontal class merger when merging
a class with private methods in a nest.
- Add tests for all cases
Bug:132670472
Change-Id: Id73d28c5179d22a0b30148d4d38ca98321b5c856
diff --git a/src/test/examplesJava11/nestHostExample/NestHostInlining.java b/src/test/examplesJava11/nestHostExample/NestHostInlining.java
new file mode 100644
index 0000000..97a4398
--- /dev/null
+++ b/src/test/examplesJava11/nestHostExample/NestHostInlining.java
@@ -0,0 +1,31 @@
+package nestHostExample;
+
+public class NestHostInlining {
+
+ private String field = "inlining";
+
+ public static class InnerWithPrivAccess {
+ public String access(NestHostInlining host) {
+ return host.field;
+ }
+ }
+
+ public static class InnerNoPrivAccess {
+ public String print() {
+ return "InnerNoPrivAccess";
+ }
+ }
+
+ public abstract static class EmptyNoPrivAccess {}
+
+ public abstract static class EmptyWithPrivAccess {
+ public String access(NestHostInlining host) {
+ return host.field;
+ }
+ }
+
+ public static void main(String[] args) {
+ System.out.println(new InnerWithPrivAccess().access(new NestHostInlining()));
+ System.out.println(new InnerNoPrivAccess().print());
+ }
+}