Reapply "Move package nesthostexample in module tests_java_11"
This reverts commit e317ebcda1ac1d379beff3b571273069c2b00b07.
Bug: b/337801526
Change-Id: I1d9fab72fe31252dc0f756fbf77b2be0879450ef
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostClassMerging.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostClassMerging.java
similarity index 94%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostClassMerging.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostClassMerging.java
index 184c201..f2de820 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostClassMerging.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostClassMerging.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import com.android.tools.r8.NeverInline;
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostTreePruning.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostTreePruning.java
similarity index 93%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostTreePruning.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostTreePruning.java
index 484c81a..6928d73 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostTreePruning.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostTreePruning.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import com.android.tools.r8.NeverInline;
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostWithAnonymousInnerClass.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithAnonymousInnerClass.java
similarity index 96%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostWithAnonymousInnerClass.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithAnonymousInnerClass.java
index 93ad558..cd9a474 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostWithAnonymousInnerClass.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithAnonymousInnerClass.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import java.util.List;
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassConstructors.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassConstructors.java
similarity index 97%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassConstructors.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassConstructors.java
index 80fe3fe..744599b 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassConstructors.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassConstructors.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import java.util.List;
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassFields.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassFields.java
similarity index 96%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassFields.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassFields.java
index 070d886..83d536a 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassFields.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassFields.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import java.util.List;
diff --git a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassMethods.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassMethods.java
similarity index 96%
rename from src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassMethods.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassMethods.java
index 2766914..c1b50c8 100644
--- a/src/test/examplesJava11/nesthostexample/BasicNestHostWithInnerClassMethods.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/BasicNestHostWithInnerClassMethods.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import java.util.List;
diff --git a/src/test/examplesJava11/nesthostexample/FullNestOnProgramPathTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/FullNestOnProgramPathTest.java
similarity index 99%
rename from src/test/examplesJava11/nesthostexample/FullNestOnProgramPathTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/FullNestOnProgramPathTest.java
index 5bc8808..d7aaad1 100644
--- a/src/test/examplesJava11/nesthostexample/FullNestOnProgramPathTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/FullNestOnProgramPathTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/src/test/examplesJava11/nesthostexample/NestAttributesUpdateTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestAttributesUpdateTest.java
similarity index 89%
rename from src/test/examplesJava11/nesthostexample/NestAttributesUpdateTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestAttributesUpdateTest.java
index ecac6fb..15e6b6a 100644
--- a/src/test/examplesJava11/nesthostexample/NestAttributesUpdateTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestAttributesUpdateTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
@@ -31,7 +31,6 @@
@RunWith(Parameterized.class)
public class NestAttributesUpdateTest extends TestBase {
- private static final String PACKAGE_NAME = "nesthostexample.";
private static final Class<?> MERGING_OUTER_CLASS = BasicNestHostClassMerging.class;
private static final Class<?> PRUNING_OUTER_CLASS = BasicNestHostTreePruning.class;
@@ -133,7 +132,7 @@
})
.addProgramClassesAndInnerClasses(outerNestClass)
.applyIf(parameters.isCfRuntime(), Jdk9TestUtils.addJdk9LibraryFiles(temp))
- .addKeepPackageNamesRule("nesthostexample")
+ .addKeepPackageNamesRule(getClass().getPackageName())
.addInliningAnnotations()
.apply(testBuilderConsumer)
.compile()
@@ -154,19 +153,25 @@
if (clazz.isNestHost()) {
// All members are present with the clazz as host
for (NestMemberClassAttribute attr : clazz.getNestMembersClassAttributes()) {
- String memberName = attr.getNestMember().getName();
- ClassSubject inner = inspector.clazz(PACKAGE_NAME + memberName);
+ ClassSubject inner = inspector.clazz(attr.getNestMember().toSourceString());
assertNotNull(
- "The nest member " + memberName + " of " + clazz.type.getName() + " is missing",
+ "The nest member "
+ + attr.getNestMember().toSourceString()
+ + " of "
+ + clazz.type.toSourceString()
+ + " is missing",
inner.getDexProgramClass());
assertSame(inner.getDexProgramClass().getNestHost(), clazz.type);
}
} else {
// Nest host is present and with the clazz as member
- String hostName = clazz.getNestHost().getName();
- ClassSubject host = inspector.clazz(PACKAGE_NAME + hostName);
+ ClassSubject host = inspector.clazz(clazz.getNestHost().toSourceString());
assertNotNull(
- "The nest host " + hostName + " of " + clazz.type.getName() + " is missing",
+ "The nest host "
+ + clazz.getNestHost().toSourceString()
+ + " of "
+ + clazz.type.toSourceString()
+ + " is missing",
host.getDexProgramClass());
assertTrue(
host.getDexProgramClass().getNestMembersClassAttributes().stream()
diff --git a/src/test/examplesJava11/nesthostexample/NestClassMergingTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestClassMergingTest.java
similarity index 98%
rename from src/test/examplesJava11/nesthostexample/NestClassMergingTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestClassMergingTest.java
index 273b7ec..e1af3fb 100644
--- a/src/test/examplesJava11/nesthostexample/NestClassMergingTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestClassMergingTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import com.android.tools.r8.Jdk9TestUtils;
import com.android.tools.r8.R8TestCompileResult;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestCompilationExceptionTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestCompilationExceptionTest.java
similarity index 77%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestCompilationExceptionTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestCompilationExceptionTest.java
index ec66458..26b7a21 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestCompilationExceptionTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestCompilationExceptionTest.java
@@ -2,15 +2,9 @@
// 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest;
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticType;
-import static com.android.tools.r8.desugar.nestaccesscontrol.NestAccessControlTestUtils.CLASSES_PATH;
-import static com.android.tools.r8.desugar.nestaccesscontrol.NestAccessControlTestUtils.CLASS_NAMES;
-import static com.android.tools.r8.utils.FileUtils.CLASS_EXTENSION;
-import static java.util.stream.Collectors.toList;
-import static org.hamcrest.core.StringContains.containsString;
-import static org.hamcrest.core.StringEndsWith.endsWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -29,9 +23,6 @@
import com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic;
import com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic;
import com.android.tools.r8.references.Reference;
-import java.nio.file.Path;
-import java.util.List;
-import org.hamcrest.Matcher;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -77,27 +68,20 @@
testIncompleteNestError(false);
}
- private TestCompilerBuilder<?, ?, ?, ?, ?> compileOnlyClassesMatching(
- Matcher<String> matcher,
+ private TestCompilerBuilder<?, ?, ?, ?, ?> configureTestBuilder(
+ Class<?> clazz,
boolean d8,
boolean allowDiagnosticWarningMessages,
boolean ignoreMissingClasses) {
- List<Path> matchingClasses =
- CLASS_NAMES.stream()
- .filter(matcher::matches)
- .map(name -> CLASSES_PATH.resolve(name + CLASS_EXTENSION))
- .collect(toList());
if (d8) {
- return testForD8(parameters.getBackend())
- .setMinApi(parameters)
- .addProgramFiles(matchingClasses);
+ return testForD8(parameters.getBackend()).setMinApi(parameters).addProgramClasses(clazz);
} else {
return testForR8(parameters.getBackend())
.addDontShrink()
.addDontObfuscate()
.addKeepAllAttributes()
.setMinApi(parameters)
- .addProgramFiles(matchingClasses)
+ .addProgramClasses(clazz)
.applyIf(parameters.isCfRuntime(), Jdk9TestUtils.addJdk9LibraryFiles(temp))
.addIgnoreWarnings(ignoreMissingClasses)
.allowDiagnosticWarningMessages(allowDiagnosticWarningMessages);
@@ -106,9 +90,8 @@
private void testMissingNestHostError(boolean d8) {
try {
- Matcher<String> innerClassMatcher =
- containsString("BasicNestHostWithInnerClassMethods$BasicNestedClass");
- compileOnlyClassesMatching(innerClassMatcher, d8, false, false)
+ configureTestBuilder(
+ BasicNestHostWithInnerClassMethods.BasicNestedClass.class, d8, false, false)
.compileWithExpectedDiagnostics(
diagnostics -> {
if (d8) {
@@ -133,8 +116,8 @@
diagnostic
.assertIsMissingDefinitionsDiagnostic()
.assertIsMissingClass(
- Reference.classFromTypeName(
- "nesthostexample.BasicNestHostWithInnerClassMethods"))
+ Reference.classFromClass(
+ BasicNestHostWithInnerClassMethods.class))
.assertNumberOfMissingClasses(1));
}
});
@@ -147,8 +130,7 @@
private void testIncompleteNestError(boolean d8) {
try {
- Matcher<String> innerClassMatcher = endsWith("BasicNestHostWithInnerClassMethods");
- compileOnlyClassesMatching(innerClassMatcher, d8, false, false)
+ configureTestBuilder(BasicNestHostWithInnerClassMethods.class, d8, false, false)
.compileWithExpectedDiagnostics(
diagnostics -> {
if (d8) {
@@ -161,10 +143,11 @@
IncompleteNestNestDesugarDiagnosic diagnostic =
(IncompleteNestNestDesugarDiagnosic) diagnostics.getErrors().get(0);
assertEquals(
- "Compilation of classes nesthostexample.BasicNestHostWithInnerClassMethods "
- + "requires its nest mates "
- + "nesthostexample.BasicNestHostWithInnerClassMethods$BasicNestedClass "
- + "(unavailable) to be on program or class path.",
+ "Compilation of classes "
+ + BasicNestHostWithInnerClassMethods.class.getTypeName()
+ + " requires its nest mates "
+ + BasicNestHostWithInnerClassMethods.BasicNestedClass.class.getTypeName()
+ + " (unavailable) to be on program or class path.",
diagnostic.getDiagnosticMessage());
} else {
diagnostics
@@ -187,10 +170,10 @@
}
private void testMissingNestHostWarning(boolean d8, boolean desugarWarning) throws Exception {
- Matcher<String> innerClassMatcher =
- containsString("BasicNestHostWithInnerClassMethods$BasicNestedClass");
TestCompileResult<?, ?> compileResult =
- compileOnlyClassesMatching(innerClassMatcher, d8, !d8, true).compile();
+ configureTestBuilder(
+ BasicNestHostWithInnerClassMethods.BasicNestedClass.class, d8, !d8, true)
+ .compile();
assertTrue(compileResult.getDiagnosticMessages().getWarnings().size() >= 1);
if (d8 && desugarWarning) {
assertTrue(
@@ -216,17 +199,15 @@
diagnostic
.assertIsMissingDefinitionsDiagnostic()
.assertIsMissingClass(
- Reference.classFromTypeName(
- "nesthostexample.BasicNestHostWithInnerClassMethods"))
+ Reference.classFromClass(BasicNestHostWithInnerClassMethods.class))
.assertNumberOfMissingClasses(1));
});
}
}
private void testIncompleteNestWarning(boolean d8, boolean desugarWarning) throws Exception {
- Matcher<String> innerClassMatcher = endsWith("BasicNestHostWithInnerClassMethods");
TestCompileResult<?, ?> compileResult =
- compileOnlyClassesMatching(innerClassMatcher, d8, !d8, true).compile();
+ configureTestBuilder(BasicNestHostWithInnerClassMethods.class, d8, !d8, true).compile();
assertTrue(compileResult.getDiagnosticMessages().getWarnings().size() >= 1);
if (d8 && desugarWarning) {
assertTrue(
@@ -252,8 +233,8 @@
diagnostic
.assertIsMissingDefinitionsDiagnostic()
.assertIsMissingClass(
- Reference.classFromTypeName(
- "nesthostexample.BasicNestHostWithInnerClassMethods$BasicNestedClass"))
+ Reference.classFromClass(
+ BasicNestHostWithInnerClassMethods.BasicNestedClass.class))
.assertNumberOfMissingClasses(1));
});
}
diff --git a/src/test/examplesJava11/nesthostexample/NestConstructorRemovedArgTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestConstructorRemovedArgTest.java
similarity index 93%
rename from src/test/examplesJava11/nesthostexample/NestConstructorRemovedArgTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestConstructorRemovedArgTest.java
index 216673a..36ad284 100644
--- a/src/test/examplesJava11/nesthostexample/NestConstructorRemovedArgTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestConstructorRemovedArgTest.java
@@ -2,9 +2,9 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
-import static nesthostexample.BasicNestHostWithInnerClassConstructors.getExpectedResult;
+import static com.android.tools.r8.jdk11.desugar.nest.BasicNestHostWithInnerClassConstructors.getExpectedResult;
import com.android.tools.r8.Jdk9TestUtils;
import com.android.tools.r8.TestBase;
diff --git a/src/test/examplesJava11/nesthostexample/NestHostExample.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostExample.java
similarity index 99%
rename from src/test/examplesJava11/nesthostexample/NestHostExample.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostExample.java
index b892be3..2d908b1 100644
--- a/src/test/examplesJava11/nesthostexample/NestHostExample.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostExample.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import java.util.List;
diff --git a/src/test/examplesJava11/nesthostexample/NestHostInlining.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInlining.java
similarity index 94%
rename from src/test/examplesJava11/nesthostexample/NestHostInlining.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInlining.java
index 4748927..1ca8c17 100644
--- a/src/test/examplesJava11/nesthostexample/NestHostInlining.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInlining.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
public class NestHostInlining {
diff --git a/src/test/examplesJava11/nesthostexample/NestHostInliningSubclasses.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInliningSubclasses.java
similarity index 94%
rename from src/test/examplesJava11/nesthostexample/NestHostInliningSubclasses.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInliningSubclasses.java
index 4221307..b862e57 100644
--- a/src/test/examplesJava11/nesthostexample/NestHostInliningSubclasses.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestHostInliningSubclasses.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import com.android.tools.r8.NeverInline;
diff --git a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextClass.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextClass.java
similarity index 92%
rename from src/test/examplesJava11/nesthostexample/NestInitArgumentContextClass.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextClass.java
index cc8b8f3..73aaae8 100644
--- a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextClass.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextClass.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
class NestInitArgumentContextClass {
public class Inner1 {
diff --git a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextTest.java
similarity index 98%
rename from src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextTest.java
index 2de3600..8041082 100644
--- a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestInitArgumentContextTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static org.junit.Assert.assertEquals;
diff --git a/src/test/examplesJava11/nesthostexample/NestMemberPropagatedTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMemberPropagatedTest.java
similarity index 97%
rename from src/test/examplesJava11/nesthostexample/NestMemberPropagatedTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMemberPropagatedTest.java
index dc1a1d3..a6a00ec 100644
--- a/src/test/examplesJava11/nesthostexample/NestMemberPropagatedTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMemberPropagatedTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static junit.framework.TestCase.assertEquals;
diff --git a/src/test/examplesJava11/nesthostexample/NestMethodInlinedTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMethodInlinedTest.java
similarity index 98%
rename from src/test/examplesJava11/nesthostexample/NestMethodInlinedTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMethodInlinedTest.java
index ef93446..791d1fc 100644
--- a/src/test/examplesJava11/nesthostexample/NestMethodInlinedTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestMethodInlinedTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertTrue;
diff --git a/src/test/examplesJava11/nesthostexample/NestOnProgramAndClasspathAndLibraryTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramAndClasspathAndLibraryTest.java
similarity index 98%
rename from src/test/examplesJava11/nesthostexample/NestOnProgramAndClasspathAndLibraryTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramAndClasspathAndLibraryTest.java
index 767b7df..e720d8b 100644
--- a/src/test/examplesJava11/nesthostexample/NestOnProgramAndClasspathAndLibraryTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramAndClasspathAndLibraryTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static org.junit.Assert.assertThrows;
diff --git a/src/test/examplesJava11/nesthostexample/NestOnProgramOnClassPathTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramOnClassPathTest.java
similarity index 98%
rename from src/test/examplesJava11/nesthostexample/NestOnProgramOnClassPathTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramOnClassPathTest.java
index 974683a..1bb55a2 100644
--- a/src/test/examplesJava11/nesthostexample/NestOnProgramOnClassPathTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestOnProgramOnClassPathTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/src/test/examplesJava11/nesthostexample/NestPvtFieldPropagated.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtFieldPropagated.java
similarity index 89%
rename from src/test/examplesJava11/nesthostexample/NestPvtFieldPropagated.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtFieldPropagated.java
index 2cbdf25..05579e2 100644
--- a/src/test/examplesJava11/nesthostexample/NestPvtFieldPropagated.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtFieldPropagated.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
public class NestPvtFieldPropagated {
diff --git a/src/test/examplesJava11/nesthostexample/NestPvtMethodCallInlined.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtMethodCallInlined.java
similarity index 97%
rename from src/test/examplesJava11/nesthostexample/NestPvtMethodCallInlined.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtMethodCallInlined.java
index 9670e69..6944b3c 100644
--- a/src/test/examplesJava11/nesthostexample/NestPvtMethodCallInlined.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/NestPvtMethodCallInlined.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
import com.android.tools.r8.AlwaysInline;
import com.android.tools.r8.NeverInline;
diff --git a/src/test/examplesJava11/nesthostexample/OutsideInliningNoAccess.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningNoAccess.java
similarity index 88%
rename from src/test/examplesJava11/nesthostexample/OutsideInliningNoAccess.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningNoAccess.java
index 86da4b1..55cad20 100644
--- a/src/test/examplesJava11/nesthostexample/OutsideInliningNoAccess.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningNoAccess.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
public class OutsideInliningNoAccess extends NestHostInlining.EmptyNoPrivAccess {
diff --git a/src/test/examplesJava11/nesthostexample/OutsideInliningWithAccess.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningWithAccess.java
similarity index 90%
rename from src/test/examplesJava11/nesthostexample/OutsideInliningWithAccess.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningWithAccess.java
index c81e437..f6b8dce 100644
--- a/src/test/examplesJava11/nesthostexample/OutsideInliningWithAccess.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/OutsideInliningWithAccess.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest;
public class OutsideInliningWithAccess extends NestHostInlining.EmptyWithPrivAccess {
diff --git a/src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NestHost.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestHost.java
similarity index 83%
rename from src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NestHost.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestHost.java
index 5c1453e..d49dcfe 100644
--- a/src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NestHost.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestHost.java
@@ -2,7 +2,7 @@
// 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 com.android.tools.r8.shaking.b169045091.examples;
+package com.android.tools.r8.jdk11.desugar.nest.b169045091;
public class NestHost {
/*private*/ int f;
diff --git a/src/test/examplesJava11/nesthostexample/b169045091/NestMemberAccessibilityTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestMemberAccessibilityTest.java
similarity index 94%
rename from src/test/examplesJava11/nesthostexample/b169045091/NestMemberAccessibilityTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestMemberAccessibilityTest.java
index 71e5b47..6f14432 100644
--- a/src/test/examplesJava11/nesthostexample/b169045091/NestMemberAccessibilityTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NestMemberAccessibilityTest.java
@@ -2,7 +2,7 @@
// 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 nesthostexample.b169045091;
+package com.android.tools.r8.jdk11.desugar.nest.b169045091;
import static com.android.tools.r8.references.Reference.INT;
import static org.junit.Assert.assertTrue;
@@ -15,11 +15,9 @@
import com.android.tools.r8.graph.DexField;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.DexProgramClass;
+import com.android.tools.r8.jdk11.desugar.nest.b169045091.NestHost.NestMember;
import com.android.tools.r8.references.Reference;
import com.android.tools.r8.shaking.AppInfoWithLiveness;
-import com.android.tools.r8.shaking.b169045091.examples.NestHost;
-import com.android.tools.r8.shaking.b169045091.examples.NestHost.NestMember;
-import com.android.tools.r8.shaking.b169045091.examples.NonNestMember;
import com.android.tools.r8.utils.AndroidApp;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NonNestMember.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NonNestMember.java
similarity index 81%
rename from src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NonNestMember.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NonNestMember.java
index 02fd5e7..f5923f6 100644
--- a/src/test/examplesJava11/com/android/tools/r8/shaking/b169045091/examples/NonNestMember.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/b169045091/NonNestMember.java
@@ -2,6 +2,6 @@
// 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 com.android.tools.r8.shaking.b169045091.examples;
+package com.android.tools.r8.jdk11.desugar.nest.b169045091;
public class NonNestMember extends NestHost.NestMember {}
diff --git a/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/Host.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/Host.java
new file mode 100644
index 0000000..72e8cd9
--- /dev/null
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/Host.java
@@ -0,0 +1,11 @@
+// Copyright (c) 2024, 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 com.android.tools.r8.jdk11.desugar.nest.dex;
+
+class Host {
+
+ static class Member1 {}
+
+ static class Member2 {}
+}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeInterfaceTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeInterfaceTest.java
similarity index 99%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeInterfaceTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeInterfaceTest.java
index bb32170..6442bab 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeInterfaceTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeInterfaceTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
import static org.hamcrest.CoreMatchers.containsString;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSpecialTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSpecialTest.java
similarity index 89%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSpecialTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSpecialTest.java
index 220f6c0..22b02be 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSpecialTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSpecialTest.java
@@ -1,9 +1,8 @@
// Copyright (c) 2023, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
-import static com.android.tools.r8.utils.FileUtils.JAR_EXTENSION;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.google.common.base.Predicates.alwaysTrue;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -11,16 +10,14 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assume.assumeTrue;
+import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.function.Predicate;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,16 +28,12 @@
@RunWith(Parameterized.class)
public class NestAttributesInDexRewriteInvokeSpecialTest extends NestAttributesInDexTestBase {
- private static final Path JDK17_JAR =
- Paths.get(ToolHelper.TESTS_BUILD_DIR, "examplesJava11")
- .resolve("nesthostexample" + JAR_EXTENSION);
- private static final String MAIN = "nesthostexample.NestHierachy";
-
- @Parameter() public TestParameters parameters;
+ @Parameter(0)
+ public TestParameters parameters;
@Parameters(name = "{0}")
public static TestParametersCollection data() {
- return getTestParameters().withAllRuntimes().withAllApiLevels().build();
+ return TestBase.getTestParameters().withAllRuntimes().withAllApiLevels().build();
}
private static final String EXPECTED_OUTPUT =
@@ -51,8 +44,8 @@
public void testRuntime() throws Exception {
assumeTrue(parameters.isCfRuntime() && isRuntimeWithNestSupport(parameters.asCfRuntime()));
testForJvm(parameters)
- .addProgramFiles(JDK17_JAR)
- .run(parameters.getRuntime(), MAIN)
+ .addProgramClassesAndInnerClasses(NestHierachy.class)
+ .run(parameters.getRuntime(), NestHierachy.class)
.assertSuccessWithOutput(EXPECTED_OUTPUT);
}
@@ -60,10 +53,10 @@
public void testD8() throws Exception {
parameters.assumeDexRuntime();
testForD8()
- .addProgramFiles(JDK17_JAR)
+ .addProgramClassesAndInnerClasses(NestHierachy.class)
.setMinApi(parameters)
.compile()
- .run(parameters.getRuntime(), MAIN)
+ .run(parameters.getRuntime(), NestHierachy.class)
.assertSuccessWithOutput(EXPECTED_OUTPUT);
}
@@ -174,13 +167,13 @@
// TODO(b/247047415): Update test when a DEX VM natively supporting nests is added.
assertFalse(parameters.getApiLevel().getLevel() > 35);
testForD8()
- .addProgramFiles(JDK17_JAR)
+ .addProgramClassesAndInnerClasses(NestHierachy.class)
.setMinApi(AndroidApiLevel.U)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
.compile()
.inspect(
inspector -> {
- ClassSubject innerSub = inspector.clazz("nesthostexample.NestHierachy$InnerSub");
+ ClassSubject innerSub = inspector.clazz(NestHierachy.InnerSub.class);
assertThat(innerSub, isPresent());
// invokespecial on public super.
assertSingleInvokeSuper(innerSub.uniqueMethodWithOriginalName("m1"));
@@ -193,7 +186,7 @@
assertSingleInvokeStatic(innerSub.uniqueMethodWithOriginalName("s2"));
// invoke-virtual on public nest members, invoke-direct on private nest members
- ClassSubject outer = inspector.clazz("nesthostexample.NestHierachy");
+ ClassSubject outer = inspector.clazz(NestHierachy.class);
assertThat(outer, isPresent());
MethodSubject callOnInnerSuper =
outer.uniqueMethodWithOriginalName("callOnInnerSuper");
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSuperTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSuperTest.java
similarity index 99%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSuperTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSuperTest.java
index 1894fa6..28967bd 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeSuperTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeSuperTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2023, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
import static org.hamcrest.CoreMatchers.containsString;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeVirtualTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeVirtualTest.java
similarity index 99%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeVirtualTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeVirtualTest.java
index d2c83a5..f032116 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexRewriteInvokeVirtualTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexRewriteInvokeVirtualTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
import static org.hamcrest.CoreMatchers.containsString;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingFieldsTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingFieldsTest.java
similarity index 99%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingFieldsTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingFieldsTest.java
index 790498d..abd2a73 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingFieldsTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingFieldsTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingMethodsTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingMethodsTest.java
similarity index 99%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingMethodsTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingMethodsTest.java
index 677e553..8aa6865 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexShrinkingMethodsTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexShrinkingMethodsTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTest.java
similarity index 96%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTest.java
index 43668e8..c0c8a15 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -14,8 +14,8 @@
import com.android.tools.r8.TestRunResult;
import com.android.tools.r8.TestRuntime.CfVm;
import com.android.tools.r8.ToolHelper.DexVm.Version;
-import com.android.tools.r8.desugar.nestaccesscontrol.NestAttributesInDexTest.Host.Member1;
-import com.android.tools.r8.desugar.nestaccesscontrol.NestAttributesInDexTest.Host.Member2;
+import com.android.tools.r8.jdk11.desugar.nest.dex.Host.Member1;
+import com.android.tools.r8.jdk11.desugar.nest.dex.Host.Member2;
import com.android.tools.r8.transformers.ClassFileTransformer;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.DescriptorUtils;
@@ -116,6 +116,8 @@
parameters.assumeDexRuntime();
testForD8()
.addProgramClassFileData(getTransformedClasses())
+ .addStrippedOuter(getClass())
+ .addClasspathClasses(AdditionalClassAPIs.class)
.addProgramClasses(OtherHost.class)
.setMinApi(parameters)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
@@ -146,6 +148,7 @@
assumeTrue(parameters.isDexRuntime() || isRuntimeWithNestSupport(parameters.asCfRuntime()));
testForR8(parameters.getBackend())
.addProgramClassFileData(getTransformedClasses())
+ .addStrippedOuter(getClass())
.addProgramClasses(OtherHost.class)
.setMinApi(parameters)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
@@ -165,6 +168,7 @@
assumeTrue(parameters.isDexRuntime() || isRuntimeWithNestSupport(parameters.asCfRuntime()));
testForR8(parameters.getBackend())
.addProgramClassFileData(getTransformedClasses())
+ .addStrippedOuter(getClass())
.addProgramClasses(OtherHost.class)
.setMinApi(parameters)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
@@ -186,6 +190,7 @@
assumeTrue(parameters.isDexRuntime() || isRuntimeWithNestSupport(parameters.asCfRuntime()));
testForR8(parameters.getBackend())
.addProgramClassFileData(getTransformedClasses())
+ .addStrippedOuter(getClass())
.addProgramClasses(OtherHost.class)
.setMinApi(parameters)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
@@ -207,6 +212,7 @@
assumeTrue(parameters.isDexRuntime() || isRuntimeWithNestSupport(parameters.asCfRuntime()));
testForR8(parameters.getBackend())
.addProgramClassFileData(getTransformedClasses())
+ .addStrippedOuter(getClass())
.addProgramClasses(OtherHost.class)
.setMinApi(parameters)
.addOptionsModification(options -> options.emitNestAnnotationsInDex = true)
@@ -321,12 +327,4 @@
System.out.println(AdditionalClassAPIs.isNestmateOf(OtherHost.class, OtherHost.class));
}
}
-
- static class OtherHost {}
-
- static class Host {
- static class Member1 {}
-
- static class Member2 {}
- }
}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTestBase.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTestBase.java
similarity index 94%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTestBase.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTestBase.java
index 9f67110..0834659 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesInDexTestBase.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesInDexTestBase.java
@@ -1,7 +1,7 @@
// Copyright (c) 2022, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestRuntime;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesNotInDexWithForceNestDesugaringTest.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesNotInDexWithForceNestDesugaringTest.java
similarity index 93%
rename from src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesNotInDexWithForceNestDesugaringTest.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesNotInDexWithForceNestDesugaringTest.java
index 86eff4e..ca9a44e 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesNotInDexWithForceNestDesugaringTest.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestAttributesNotInDexWithForceNestDesugaringTest.java
@@ -1,7 +1,7 @@
// Copyright (c) 2023, 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 com.android.tools.r8.desugar.nestaccesscontrol;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresentIf;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -10,9 +10,9 @@
import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.desugar.nestaccesscontrol.NestAttributesNotInDexWithForceNestDesugaringTest.Host.Member1;
-import com.android.tools.r8.desugar.nestaccesscontrol.NestAttributesNotInDexWithForceNestDesugaringTest.Host.Member2;
import com.android.tools.r8.graph.MethodAccessFlags;
+import com.android.tools.r8.jdk11.desugar.nest.dex.NestAttributesNotInDexWithForceNestDesugaringTest.Host.Member1;
+import com.android.tools.r8.jdk11.desugar.nest.dex.NestAttributesNotInDexWithForceNestDesugaringTest.Host.Member2;
import com.android.tools.r8.synthesis.SyntheticItemsTestUtils;
import com.android.tools.r8.transformers.ClassFileTransformer;
import com.android.tools.r8.transformers.ClassFileTransformer.MethodPredicate;
diff --git a/src/test/examplesJava11/nesthostexample/NestHierachy.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestHierachy.java
similarity index 96%
rename from src/test/examplesJava11/nesthostexample/NestHierachy.java
rename to src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestHierachy.java
index ba971d2..10d024a 100644
--- a/src/test/examplesJava11/nesthostexample/NestHierachy.java
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/NestHierachy.java
@@ -2,7 +2,7 @@
// 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 nesthostexample;
+package com.android.tools.r8.jdk11.desugar.nest.dex;
public class NestHierachy {
abstract static class InnerSuper {
diff --git a/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/OtherHost.java b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/OtherHost.java
new file mode 100644
index 0000000..907e038
--- /dev/null
+++ b/src/test/examplesJava11/com/android/tools/r8/jdk11/desugar/nest/dex/OtherHost.java
@@ -0,0 +1,6 @@
+// Copyright (c) 2024, 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 com.android.tools.r8.jdk11.desugar.nest.dex;
+
+class OtherHost {}
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
deleted file mode 100644
index cba6309..0000000
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAccessControlTestUtils.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2019, 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 com.android.tools.r8.desugar.nestaccesscontrol;
-
-import static com.android.tools.r8.utils.FileUtils.JAR_EXTENSION;
-
-import com.android.tools.r8.ToolHelper;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
-
-public class NestAccessControlTestUtils {
-
- public static final Path JAR =
- Paths.get(ToolHelper.EXAMPLES_JAVA11_JAR_DIR).resolve("nesthostexample" + JAR_EXTENSION);
- public static final Path CLASSES_PATH =
- Paths.get(ToolHelper.getExamplesJava11BuildDir()).resolve("nesthostexample/");
-
- public static final List<String> CLASS_NAMES =
- ImmutableList.of(
- "BasicNestHostWithInnerClassFields",
- "BasicNestHostWithInnerClassFields$BasicNestedClass",
- "BasicNestHostWithInnerClassMethods",
- "BasicNestHostWithInnerClassMethods$BasicNestedClass",
- "BasicNestHostWithInnerClassConstructors",
- "BasicNestHostWithInnerClassConstructors$BasicNestedClass",
- "BasicNestHostWithInnerClassConstructors$UnInstantiatedClass",
- "BasicNestHostWithAnonymousInnerClass",
- "BasicNestHostWithAnonymousInnerClass$1",
- "BasicNestHostWithAnonymousInnerClass$InterfaceForAnonymousClass",
- "BasicNestHostClassMerging",
- "BasicNestHostClassMerging$MiddleInner",
- "BasicNestHostClassMerging$MiddleOuter",
- "BasicNestHostClassMerging$InnerMost",
- "BasicNestHostTreePruning",
- "BasicNestHostTreePruning$Pruned",
- "BasicNestHostTreePruning$NotPruned",
- "NestHostInlining",
- "NestHostInlining$InnerWithPrivAccess",
- "NestHostInlining$InnerNoPrivAccess",
- "NestHostInlining$EmptyNoPrivAccess",
- "NestHostInlining$EmptyWithPrivAccess",
- "NestHostInliningSubclasses",
- "NestHostInliningSubclasses$InnerWithPrivAccess",
- "NestHostInliningSubclasses$InnerNoPrivAccess",
- "OutsideInliningNoAccess",
- "OutsideInliningWithAccess",
- "NestPvtMethodCallInlined",
- "NestPvtMethodCallInlined$Inner",
- "NestPvtMethodCallInlined$InnerInterface",
- "NestPvtMethodCallInlined$InnerInterfaceImpl",
- "NestPvtMethodCallInlined$InnerSub",
- "NestPvtFieldPropagated",
- "NestPvtFieldPropagated$Inner",
- "NestHostExample",
- "NestHostExample$NestMemberInner",
- "NestHostExample$NestMemberInner$NestMemberInnerInner",
- "NestHostExample$StaticNestMemberInner",
- "NestHostExample$StaticNestMemberInner$StaticNestMemberInnerInner",
- "NestHostExample$StaticNestInterfaceInner",
- "NestHostExample$ExampleEnumCompilation");
- public static final ImmutableMap<String, String> MAIN_CLASSES =
- ImmutableMap.<String, String>builder()
- .put("fields", "BasicNestHostWithInnerClassFields")
- .put("methods", "BasicNestHostWithInnerClassMethods")
- .put("constructors", "BasicNestHostWithInnerClassConstructors")
- .put("anonymous", "BasicNestHostWithAnonymousInnerClass")
- .put("all", "NestHostExample")
- .put("merge", "BasicNestHostClassMerging")
- .put("prune", "BasicNestHostTreePruning")
- .put("inlining", "NestHostInlining")
- .put("inliningSub", "NestHostInliningSubclasses")
- .put("pvtCallInlined", "NestPvtMethodCallInlined")
- .put("memberPropagated", "NestPvtFieldPropagated")
- .build();
-
- public static String getMainClass(String id) {
- return "nesthostexample." + MAIN_CLASSES.get(id);
- }
-
-
-}