Nest private member access clean-up
- in D8, private constructor calls inside
a class should not require bridge
(Add test for this case)
- in r8, no bridges are needed for private
field access within a class
(Also move nest access desugar logic from
LensCodeRewriter to corresponding Lens)
- in R8, nest based desugaring should work
when other lens are present.
- in R8, the lens can be ignored only if none
of the map are used.
(Add test for this case)
Bug:132147078
Change-Id: I2aaa95a906709e4e930eddfdacec0994d7e6d6d0
diff --git a/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java b/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
index 8b8f6ce..d61d351 100644
--- a/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
+++ b/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
@@ -12,6 +12,10 @@
this.field = field;
}
+ private BasicNestHostWithInnerClassConstructors(int intVal) {
+ this.field = String.valueOf(intVal);
+ }
+
public static BasicNestedClass createNestedInstance(String field) {
return new BasicNestedClass(field);
}
@@ -33,8 +37,11 @@
BasicNestHostWithInnerClassConstructors outer = BasicNestedClass.createOuterInstance("field");
BasicNestedClass inner =
BasicNestHostWithInnerClassConstructors.createNestedInstance("nest1SField");
+ BasicNestHostWithInnerClassConstructors noBridge =
+ new BasicNestHostWithInnerClassConstructors(1);
System.out.println(outer.field);
System.out.println(inner.field);
+ System.out.println(noBridge.field);
}
}