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);
   }
 }