Test nest constructor with unused params
- Add test where a nest constructor with extra
NestConstructorClass has also unused parameters.
Bug: 132767654
Change-Id: I326151dc9f81cdd08cfcf5c0c149adbeb2ca153a
diff --git a/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java b/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
index d61d351..8a5f6c8 100644
--- a/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
+++ b/src/test/examplesJava11/nestHostExample/BasicNestHostWithInnerClassConstructors.java
@@ -28,6 +28,10 @@
this.field = field;
}
+ private BasicNestedClass(String unused, String field, String alsoUnused) {
+ this.field = field + "UnusedConstructor";
+ }
+
public static BasicNestHostWithInnerClassConstructors createOuterInstance(String field) {
return new BasicNestHostWithInnerClassConstructors(field);
}
@@ -39,9 +43,12 @@
BasicNestHostWithInnerClassConstructors.createNestedInstance("nest1SField");
BasicNestHostWithInnerClassConstructors noBridge =
new BasicNestHostWithInnerClassConstructors(1);
+ BasicNestedClass unusedParamConstructor =
+ new BasicNestedClass("unused", "innerField", "alsoUnused");
System.out.println(outer.field);
System.out.println(inner.field);
System.out.println(noBridge.field);
+ System.out.println(unusedParamConstructor.field);
}
}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAccessControlTestUtils.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAccessControlTestUtils.java
index e2e1a18..9d99c5b 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAccessControlTestUtils.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAccessControlTestUtils.java
@@ -104,7 +104,9 @@
StringUtils.lines(
"nestMethodstaticNestMethodstaticNestMethodnoBridge",
"hostMethodstaticHostMethodstaticNestMethod"))
- .put("constructors", StringUtils.lines("field", "nest1SField", "1"))
+ .put(
+ "constructors",
+ StringUtils.lines("field", "nest1SField", "1", "innerFieldUnusedConstructor"))
.put(
"anonymous",
StringUtils.lines(
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestOnProgramAndClassPathTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestOnProgramAndClassPathTest.java
index 355c987..0f89cbb 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestOnProgramAndClassPathTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestOnProgramAndClassPathTest.java
@@ -73,7 +73,7 @@
containsString("BasicNestHostWithInnerClassConstructors$BasicNestedClass"));
inner.inspect(
inspector -> {
- assertThisNumberOfBridges(inspector, 1);
+ assertThisNumberOfBridges(inspector, 2);
assertNestConstructor(inspector);
});
D8TestCompileResult host =