Revert "Move desugared lib test method"
This reverts commit 54e85e9ec48375a519e89434c1a2854ede14098d.
Reason for revert: Breaks MergingWithDesugaredLibraryTest
Change-Id: Id0b7c36902525c962b6e0a89f6d7182c56cb765a
diff --git a/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/L8Benchmark.java b/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/L8Benchmark.java
index 46f8916..147d601 100644
--- a/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/L8Benchmark.java
+++ b/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/L8Benchmark.java
@@ -64,7 +64,6 @@
ImmutableSet.of(undesugarJdkLib),
Paths.get("src/library_desugar/jdk11/desugar_jdk_libs.json"),
ImmutableSet.of(androidJar.getRoot(environment).resolve("android.jar")),
- LibraryDesugaringSpecification.JDK11_DESCRIPTOR,
"");
runner(environment.getConfig())
.setWarmupIterations(1)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/CustomCollectionTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/CustomCollectionTest.java
index 6b61085..4681e27 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/CustomCollectionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/CustomCollectionTest.java
@@ -68,7 +68,7 @@
}
private void assertResultCorrect(String stdOut) {
- if (libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)
+ if (requiresEmulatedInterfaceCoreLibDesugaring(parameters)
&& !compilationSpecification.isL8Shrink()) {
// When shrinking the class names are not printed correctly anymore due to minification.
// Expected output is emulated interfaces expected output.
@@ -81,7 +81,8 @@
return;
}
MethodSubject direct = inspector.clazz(Executor.class).uniqueMethodWithName("directTypes");
- if (libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ System.out.println(direct);
+ if (requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
assertTrue(
direct
.streamInstructions()
@@ -96,7 +97,7 @@
}
MethodSubject inherited =
inspector.clazz(Executor.class).uniqueMethodWithName("inheritedTypes");
- if (!libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (!requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
assertTrue(
inherited.streamInstructions().noneMatch(instr -> instr.toString().contains("$-EL")));
return;
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DateTimeFormatterTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DateTimeFormatterTest.java
index 16021f7..8f725ba 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DateTimeFormatterTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DateTimeFormatterTest.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import com.android.tools.r8.SingleTestRunResult;
@@ -60,7 +61,7 @@
.addKeepMainRule(TestClass.class)
.run(parameters.getRuntime(), TestClass.class)
.assertSuccess();
- if (libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ if (requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
run.assertSuccessWithOutput(expectedOutputDesugaredLib);
} else {
run.assertSuccessWithOutput(expectedOutput);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredGenericSignatureTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredGenericSignatureTest.java
index 7ba2614..02e844e 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredGenericSignatureTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredGenericSignatureTest.java
@@ -75,7 +75,7 @@
}
private void checkRewrittenSignature(CodeInspector inspector) {
- if (!libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (!requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
return;
}
ClassSubject javaTimeBox = inspector.clazz(JavaTimeDateBox.class);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryContentTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryContentTest.java
index 36e343e..716e073 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryContentTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryContentTest.java
@@ -61,7 +61,9 @@
@Test
public void testDesugaredLibraryContent() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8));
testForL8(parameters.getApiLevel())
.apply(libraryDesugaringSpecification::configureL8TestBuilder)
.compile()
@@ -70,7 +72,9 @@
@Test
public void testDesugaredLibraryContentWithCoreLambdaStubsAsProgram() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8));
ArrayList<Path> coreLambdaStubs = new ArrayList<>();
coreLambdaStubs.add(ToolHelper.getCoreLambdaStubs());
testForL8(parameters.getApiLevel())
@@ -82,7 +86,9 @@
@Test
public void testDesugaredLibraryContentWithCoreLambdaStubsAsLibrary() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8));
testForL8(parameters.getApiLevel())
.apply(libraryDesugaringSpecification::configureL8TestBuilder)
.addLibraryFiles(ToolHelper.getCoreLambdaStubs())
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDeterminismTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDeterminismTest.java
index 8245517..810f1d0 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDeterminismTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDeterminismTest.java
@@ -4,6 +4,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8DEBUG;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -60,7 +61,9 @@
Set<String> contextsRoundOne = ConcurrentHashMap.newKeySet();
Set<String> contextsRoundTwo = ConcurrentHashMap.newKeySet();
Path determinismLogDir = temp.newFolder().toPath();
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8));
Path libDexFile1 =
testForL8(parameters.getApiLevel())
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
index 6200ec5..4a9b0a0 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
@@ -4,6 +4,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertEquals;
@@ -53,7 +54,9 @@
@Test
public void testDumpToDirectory() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8));
Path dumpDir = temp.newFolder().toPath();
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addProgramClasses(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryInvalidTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryInvalidTest.java
index 6a169bf..d31aa91 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryInvalidTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryInvalidTest.java
@@ -39,15 +39,13 @@
"JDK8_INVALID_LIB",
DESUGARED_JDK_8_LIB_JAR,
"desugar_jdk_libs.json",
- AndroidApiLevel.L,
- LibraryDesugaringSpecification.JDK8_DESCRIPTOR);
+ AndroidApiLevel.L);
LibraryDesugaringSpecification jdk11InvalidLib =
new LibraryDesugaringSpecification(
"JDK11_INVALID_LIB",
ToolHelper.getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs.json",
- AndroidApiLevel.L,
- LibraryDesugaringSpecification.JDK11_DESCRIPTOR);
+ AndroidApiLevel.L);
return buildParameters(
getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build(),
ImmutableList.of(jdk8InvalidLib, jdk11InvalidLib),
@@ -65,7 +63,9 @@
@Test
public void testInvalidLibrary() throws IOException {
- Assume.assumeTrue(libraryDesugaringSpecification.hasAnyDesugaring(parameters));
+ Assume.assumeTrue(
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), !libraryDesugaringSpecification.toString().contains("JDK8")));
DesugaredLibraryTestBuilder<?> testBuilder =
testForDesugaredLibrary(
parameters, libraryDesugaringSpecification, compilationSpecification)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryMismatchTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryMismatchTest.java
index 71026ba..1f4d9c1 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryMismatchTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryMismatchTest.java
@@ -7,6 +7,7 @@
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
import static com.android.tools.r8.DiagnosticsMatcher.diagnosticType;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8DEBUG;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.containsString;
@@ -75,7 +76,8 @@
.addProgramClasses(TestRunner.class)
.compileWithExpectedDiagnostics(
diagnostics -> {
- if (libraryDesugaringSpecification.hasAnyDesugaring(parameters)) {
+ if (requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8)) {
diagnostics.assertNoInfos();
diagnostics.assertAllWarningsMatch(
diagnosticMessage(
@@ -156,7 +158,8 @@
.setMinApi(parameters.getApiLevel())
.compileWithExpectedDiagnostics(
diagnostics -> {
- if (libraryDesugaringSpecification.hasAnyDesugaring(parameters)) {
+ if (requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8)) {
diagnostics.assertOnlyErrors();
diagnostics.assertErrorsMatch(
diagnosticType(DesugaredLibraryMismatchDiagnostic.class));
@@ -193,7 +196,8 @@
.setMinApi(parameters.getApiLevel())
.compileWithExpectedDiagnostics(
diagnostics -> {
- if (libraryDesugaringSpecification.hasAnyDesugaring(parameters)) {
+ if (requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8)) {
diagnostics.assertOnlyErrors();
diagnostics.assertErrorsMatch(
diagnosticType(DesugaredLibraryMismatchDiagnostic.class));
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryTestBase.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryTestBase.java
index 4f1b017..4c05352 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryTestBase.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryTestBase.java
@@ -45,6 +45,20 @@
throw new Error("Unsupported conversion parameters");
}
+ protected boolean requiresEmulatedInterfaceCoreLibDesugaring(TestParameters parameters) {
+ return parameters.getApiLevel().isLessThan(apiLevelWithDefaultInterfaceMethodsSupport());
+ }
+
+ protected boolean requiresTimeDesugaring(TestParameters parameters, boolean isJDK11) {
+ return parameters.getApiLevel().getLevel()
+ < (isJDK11 ? AndroidApiLevel.S.getLevel() : AndroidApiLevel.O.getLevel());
+ }
+
+ protected boolean requiresAnyCoreLibDesugaring(AndroidApiLevel apiLevel, boolean isJDK11) {
+ return apiLevel.getLevel()
+ <= (isJDK11 ? AndroidApiLevel.R.getLevel() : AndroidApiLevel.N_MR1.getLevel());
+ }
+
protected DesugaredLibraryTestBuilder<?> testForDesugaredLibrary(
TestParameters parameters,
LibraryDesugaringSpecification libraryDesugaringSpecification,
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLocalDateReflectedTypePassedToStaticType.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLocalDateReflectedTypePassedToStaticType.java
index c4af0ff..2505e7f 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLocalDateReflectedTypePassedToStaticType.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLocalDateReflectedTypePassedToStaticType.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.hamcrest.core.StringContains.containsString;
@@ -55,7 +56,7 @@
.addKeepMainRule(Main.class)
.run(parameters.getRuntime(), Main.class);
if (compilationSpecification.isL8Shrink()
- && libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ && requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
run.assertFailureWithErrorThatMatches(containsString("java.lang.NoSuchMethodException"));
} else {
run.assertSuccessWithOutput(EXPECTED);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredReflectedDesugaredTypePassedToStaticTypeTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredReflectedDesugaredTypePassedToStaticTypeTest.java
index 4466e5d..6c1f23f 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredReflectedDesugaredTypePassedToStaticTypeTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredReflectedDesugaredTypePassedToStaticTypeTest.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.hamcrest.core.StringContains.containsString;
@@ -54,7 +55,7 @@
.addInnerClasses(getClass())
.addKeepMainRule(Main.class)
.run(parameters.getRuntime(), Main.class);
- if (!libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ if (!requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
runResult.assertFailureWithErrorThatMatches(
containsString("java.lang.ClassNotFoundException: j$.time.LocalDate"));
} else {
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DontKeepBootstrapClassesTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DontKeepBootstrapClassesTest.java
index 0de7cf2..70554a0 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DontKeepBootstrapClassesTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DontKeepBootstrapClassesTest.java
@@ -54,7 +54,7 @@
.compile()
.inspectKeepRules(
keepRule -> {
- if (libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
assertTrue(
keepRule.stream()
.anyMatch(kr -> kr.contains("-keep class j$.util.function.Consumer")));
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java
index 9a5ac53..f744809 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8DEBUG;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -74,7 +75,7 @@
}
private boolean expectsEmptyDesugaredLibrary(AndroidApiLevel apiLevel) {
- return !libraryDesugaringSpecification.hasAnyDesugaring(apiLevel);
+ return !requiresAnyCoreLibDesugaring(apiLevel, libraryDesugaringSpecification != JDK8);
}
@Test
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
index 2a185ea..1ca61c5 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
@@ -59,7 +59,7 @@
@Test
public void testEmulatedInterface() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
CodeInspector inspector =
testForL8(parameters.getApiLevel())
.apply(
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/J$ExtensionTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/J$ExtensionTest.java
index 7d4a771..dd036e2 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/J$ExtensionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/J$ExtensionTest.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8DEBUG;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static junit.framework.TestCase.assertTrue;
@@ -151,7 +152,7 @@
@Test
public void testJ$ExtensionDesugaring() throws Throwable {
Assume.assumeFalse(parameters.isCfRuntime());
- Assume.assumeTrue(libraryDesugaringSpecification.hasTimeDesugaring(parameters));
+ Assume.assumeTrue(requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8));
String stdErr =
testForDesugaredLibrary(
parameters, libraryDesugaringSpecification, compilationSpecification)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
index 8d8f669..4b7a485 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.SPECIFICATIONS_WITH_CF2CF;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.CoreMatchers.not;
@@ -97,7 +98,7 @@
Set<String> expectedCatchGuards;
Set<String> expectedCheckCastType;
String expectedInstanceOfTypes;
- if (!libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ if (!requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
expectedInvokeHolders =
SetUtils.newHashSet("java.time.Clock", "java.time.LocalDate", "java.time.ZoneId");
if (!isR8) {
@@ -150,7 +151,7 @@
.isGreaterThanOrEqualTo(TestBase.apiLevelWithDefaultInterfaceMethodsSupport())
&& isR8) {
String holder =
- libraryDesugaringSpecification.hasTimeDesugaring(parameters)
+ requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)
? "j$.time.temporal.TemporalAccessor"
: "java.time.temporal.TemporalAccessor";
assertThat(
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilFunctionTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilFunctionTest.java
index 7196215..d14b845 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilFunctionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilFunctionTest.java
@@ -57,7 +57,7 @@
}
private void checkRewrittenArguments(CodeInspector inspector) {
- if (!libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (!requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
return;
}
ClassSubject classSubject = inspector.clazz(TestClass.class);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilOptionalTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilOptionalTest.java
index 23a13b6..7c98967 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilOptionalTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaUtilOptionalTest.java
@@ -58,7 +58,7 @@
}
private void checkRewrittenInvokes(CodeInspector inspector) {
- if (!libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (!requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
return;
}
ClassSubject classSubject = inspector.clazz(TestClass.class);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LibraryEmptySubclassInterfaceTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LibraryEmptySubclassInterfaceTest.java
index fe5364c..0b048b4 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LibraryEmptySubclassInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LibraryEmptySubclassInterfaceTest.java
@@ -56,7 +56,7 @@
}
private void assertExpectedKeepRules(List<String> keepRuleList) {
- if (!libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (!requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
return;
}
StringBuilder keepRules = new StringBuilder();
@@ -68,7 +68,7 @@
}
private String getResult() {
- return libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)
+ return requiresEmulatedInterfaceCoreLibDesugaring(parameters)
? "class j$.util.concurrent.ConcurrentHashMap"
: "class java.util.concurrent.ConcurrentHashMap";
}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MergingWithDesugaredLibraryTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MergingWithDesugaredLibraryTest.java
index 9e8ce7b..ca676d3 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MergingWithDesugaredLibraryTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MergingWithDesugaredLibraryTest.java
@@ -11,6 +11,7 @@
import static com.android.tools.r8.MarkerMatcher.markerIsDesugared;
import static com.android.tools.r8.MarkerMatcher.markerMinApi;
import static com.android.tools.r8.MarkerMatcher.markerTool;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.not;
@@ -134,7 +135,8 @@
markerTool(Tool.D8),
markerIsDesugared(),
markerHasDesugaredLibraryIdentifier(
- !libraryDesugaringSpecification.hasAnyDesugaring(parameters)));
+ requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8)));
assertMarkersMatch(
ExtractMarker.extractMarkerFromDexFile(app), ImmutableList.of(libraryMatcher, d8Matcher));
}
@@ -220,7 +222,8 @@
}
private boolean someLibraryDesugaringRequired() {
- return !libraryDesugaringSpecification.hasAnyDesugaring(parameters);
+ return requiresAnyCoreLibDesugaring(
+ parameters.getApiLevel(), libraryDesugaringSpecification != JDK8);
}
@Test
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
index 0fbcc8c..943c7a9 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/MonthTest.java
@@ -5,6 +5,7 @@
package com.android.tools.r8.desugar.desugaredlibrary;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import com.android.tools.r8.TestParameters;
@@ -56,7 +57,7 @@
return EXPECTED_JAVA_8_OUTPUT;
}
assert parameters.isDexRuntime();
- if (libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ if (requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
return EXPECTED_JAVA_8_OUTPUT;
}
return EXPECTED_JAVA_9_OUTPUT;
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NoDesugaredLibraryDexFileTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NoDesugaredLibraryDexFileTest.java
index a3f36be..5ddc567 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NoDesugaredLibraryDexFileTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NoDesugaredLibraryDexFileTest.java
@@ -52,7 +52,7 @@
@Test
public void testNoDesugaredLibraryDexFile() throws Throwable {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addInnerClasses(getClass())
.addKeepClassAndMembersRules(Executor.class)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
index 6c02f88..f5717d8 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
@@ -72,18 +72,13 @@
public static List<Object[]> data() {
LibraryDesugaringSpecification jdk8MaxCompileSdk =
new LibraryDesugaringSpecification(
- "JDK8_MAX",
- DESUGARED_JDK_8_LIB_JAR,
- "desugar_jdk_libs.json",
- AndroidApiLevel.LATEST,
- LibraryDesugaringSpecification.JDK8_DESCRIPTOR);
+ "JDK8_MAX", DESUGARED_JDK_8_LIB_JAR, "desugar_jdk_libs.json", AndroidApiLevel.LATEST);
LibraryDesugaringSpecification jdk11MaxCompileSdk =
new LibraryDesugaringSpecification(
"JDK11_MAX",
ToolHelper.getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs.json",
- AndroidApiLevel.LATEST,
- LibraryDesugaringSpecification.JDK11_DESCRIPTOR);
+ AndroidApiLevel.LATEST);
return buildParameters(
getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build(),
ImmutableList.of(JDK8, JDK11, jdk8MaxCompileSdk, jdk11MaxCompileSdk),
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ProgramRewritingTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ProgramRewritingTest.java
index f597070..492964e 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ProgramRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ProgramRewritingTest.java
@@ -56,7 +56,6 @@
ToolHelper.getCoreLambdaStubs()),
JDK8.getSpecification(),
ImmutableSet.of(ToolHelper.getAndroidJar(AndroidApiLevel.O)),
- LibraryDesugaringSpecification.JDK8_DESCRIPTOR,
"");
LibraryDesugaringSpecification jdk11CoreLambdaStubs =
new LibraryDesugaringSpecification(
@@ -67,7 +66,6 @@
ToolHelper.getCoreLambdaStubs()),
JDK11.getSpecification(),
ImmutableSet.of(ToolHelper.getAndroidJar(AndroidApiLevel.R)),
- LibraryDesugaringSpecification.JDK11_DESCRIPTOR,
"");
return buildParameters(
getTestParameters().withDexRuntimes().withAllApiLevels().build(),
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SimpleStreamTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SimpleStreamTest.java
index 78a082c..3cdfedb 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SimpleStreamTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SimpleStreamTest.java
@@ -48,7 +48,7 @@
@Test
public void testSimpleStream() throws Throwable {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addInnerClasses(getClass())
.addKeepMainRule(Executor.class)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SpliteratorTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SpliteratorTest.java
index 3839d19..7b45541 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SpliteratorTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/SpliteratorTest.java
@@ -64,7 +64,7 @@
@Test
public void testSpliterator() throws Throwable {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addInnerClasses(getClass())
.compile()
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionsPresentTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionsPresentTest.java
index 42fbe70..69b83bf 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionsPresentTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionsPresentTest.java
@@ -4,6 +4,7 @@
package com.android.tools.r8.desugar.desugaredlibrary.conversiontests;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.getJdk8Jdk11;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertTrue;
@@ -57,14 +58,14 @@
c.getOriginalName().contains(".util.")
|| c.getOriginalName().contains(".time."))
.collect(Collectors.toList());
- if (libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters)) {
+ if (requiresEmulatedInterfaceCoreLibDesugaring(parameters)) {
assertEquals(5, conversionsClasses.size());
assertTrue(inspector.clazz("j$.util.OptionalConversions").isPresent());
assertTrue(inspector.clazz("j$.time.TimeConversions").isPresent());
assertTrue(inspector.clazz("j$.util.LongSummaryStatisticsConversions").isPresent());
assertTrue(inspector.clazz("j$.util.IntSummaryStatisticsConversions").isPresent());
assertTrue(inspector.clazz("j$.util.DoubleSummaryStatisticsConversions").isPresent());
- } else if (libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ } else if (requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
assertEquals(1, conversionsClasses.size());
assertTrue(inspector.clazz("j$.time.TimeConversions").isPresent());
} else {
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonAllMapsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonAllMapsTest.java
index e7421fe..f66418a 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonAllMapsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonAllMapsTest.java
@@ -48,7 +48,7 @@
@Test
public void testGsonAllMaps() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addProgramClassesAndInnerClasses(AllMapsTestClass.class)
.addProgramFiles(GSON_2_8_1_JAR)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonEnumTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonEnumTest.java
index 716e3da..09f6bcf 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonEnumTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonEnumTest.java
@@ -49,7 +49,7 @@
@Test
public void testEnum() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addInnerClasses(GsonEnumTest.class)
.addKeepMainRule(Executor.class)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonOptionalTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonOptionalTest.java
index d42473c..5c033ce 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonOptionalTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonOptionalTest.java
@@ -45,7 +45,7 @@
@Test
public void testGson() throws Exception {
- Assume.assumeTrue(libraryDesugaringSpecification.hasEmulatedInterfaceDesugaring(parameters));
+ Assume.assumeTrue(requiresEmulatedInterfaceCoreLibDesugaring(parameters));
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
.addProgramClassesAndInnerClasses(OptionalTestClass.class)
.addProgramFiles(GSON_2_8_1_JAR)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11AtomicTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11AtomicTests.java
index ddeddc0..7d09ee0 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11AtomicTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11AtomicTests.java
@@ -94,8 +94,7 @@
ATOMIC_COMPILED_TESTS_FOLDER.resolve(ATOMIC_REFERENCE_TEST + CLASS_EXTENSION))
.addProgramFiles(testNGSupportProgramFiles())
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
- b -> b.addProgramFiles(getPathsFiles()))
+ libraryDesugaringSpecification != JDK11_PATH, b -> b.addProgramFiles(getPathsFiles()))
.compile()
.withArt6Plus64BitsLib()
.run(parameters.getRuntime(), "TestNGMainRunner", verbosity, ATOMIC_REFERENCE_TEST)
@@ -111,8 +110,7 @@
getAllFilesWithSuffixInDirectory(ATOMIC_COMPILED_TESTS_FOLDER, CLASS_EXTENSION))
.addProgramFiles(testNGSupportProgramFiles())
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
- b -> b.addProgramFiles(getPathsFiles()))
+ libraryDesugaringSpecification != JDK11_PATH, b -> b.addProgramFiles(getPathsFiles()))
.compile()
.withArt6Plus64BitsLib()
.run(parameters.getRuntime(), "TestNGMainRunner", verbosity, ATOMIC_UPDATERS)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11ConcurrentMapTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11ConcurrentMapTests.java
index f4b8b17..a3641d6 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11ConcurrentMapTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11ConcurrentMapTests.java
@@ -119,8 +119,7 @@
.addProgramFiles(CONCURRENT_COMPILED_TESTS_FILES)
.addProgramFiles(testNGSupportProgramFiles())
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
- b -> b.addProgramFiles(getPathsFiles()))
+ libraryDesugaringSpecification != JDK11_PATH, b -> b.addProgramFiles(getPathsFiles()))
.compile()
.withArt6Plus64BitsLib()
.run(parameters.getRuntime(), "TestNGMainRunner", verbosity, "ConcurrentModification")
@@ -169,7 +168,7 @@
.addProgramFiles(concurrentHashTestToCompile())
.addProgramFiles(testNGSupportProgramFiles())
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
+ libraryDesugaringSpecification != JDK11_PATH,
b -> b.addProgramFiles(getPathsFiles()))
.compile()
.withArt6Plus64BitsLib();
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
index ad2644b..94b9162 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
@@ -307,7 +307,7 @@
parameters, libraryDesugaringSpecification, compilationSpecification)
.addProgramFiles(filesToCompile)
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
+ libraryDesugaringSpecification != JDK11_PATH_JAVA_BASE_EXT,
b -> b.addProgramFiles(getPathsFiles()))
.addProgramFiles(getSafeVarArgsFile())
.addProgramFiles(testNGSupportProgramFiles())
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
index 7a2760a..6249cf1 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TestLibraryDesugaringSpecification.java
@@ -73,12 +73,7 @@
Set<Path> libFiles = new HashSet<>(template.getLibraryFiles());
libFiles.add(EXTENSION_PATH);
return new LibraryDesugaringSpecification(
- name,
- desugaredJDKLibFiles,
- template.getSpecification(),
- libFiles,
- template.getDescriptor(),
- getTestNGKeepRules());
+ name, desugaredJDKLibFiles, template.getSpecification(), libFiles, getTestNGKeepRules());
}
private static synchronized void ensureJavaBaseExtensionsCompiled() throws Exception {
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TimeAbstractTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TimeAbstractTests.java
index 3e0dc37..ee4cad8 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TimeAbstractTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11TimeAbstractTests.java
@@ -219,7 +219,7 @@
.addProgramFiles(JDK_11_TIME_TEST_COMPILED_FILES)
.addProgramFiles(testNGSupportProgramFiles())
.applyIf(
- !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
+ libraryDesugaringSpecification != JDK11_PATH,
b -> b.addProgramFiles(getPathsFiles()))
.compile()
.withArt6Plus64BitsLib();
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/kotlin/KotlinMetadataTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/kotlin/KotlinMetadataTest.java
index 8c572cf..3458390 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/kotlin/KotlinMetadataTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/kotlin/KotlinMetadataTest.java
@@ -7,6 +7,7 @@
import static com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion.KOTLINC_1_3_72;
import static com.android.tools.r8.KotlinTestBase.getCompileMemoizer;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.DEFAULT_SPECIFICATIONS;
+import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.not;
@@ -102,7 +103,7 @@
.compile()
.inspect(
i -> {
- if (libraryDesugaringSpecification.hasTimeDesugaring(parameters)) {
+ if (requiresTimeDesugaring(parameters, libraryDesugaringSpecification != JDK8)) {
inspectRewrittenMetadata(i);
}
})
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/r8ondex/HelloWorldCompiledOnArtTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/r8ondex/HelloWorldCompiledOnArtTest.java
index c1224a8..9567481 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/r8ondex/HelloWorldCompiledOnArtTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/r8ondex/HelloWorldCompiledOnArtTest.java
@@ -139,7 +139,7 @@
.addProgramFiles(ToolHelper.R8_WITH_RELOCATED_DEPS_JAR)
.applyIf(
parameters.getApiLevel().getLevel() < AndroidApiLevel.O.getLevel()
- && !libraryDesugaringSpecification.hasNioFileDesugaring(parameters),
+ && libraryDesugaringSpecification != JDK11_PATH,
b -> b.addProgramFiles(pathBackport))
.addOptionsModification(
options -> {
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/test/LibraryDesugaringSpecification.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/test/LibraryDesugaringSpecification.java
index 0dbdb1f..edff04e 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/test/LibraryDesugaringSpecification.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/test/LibraryDesugaringSpecification.java
@@ -9,7 +9,6 @@
import static com.android.tools.r8.ToolHelper.getUndesugaredJdk11LibJarForTesting;
import com.android.tools.r8.L8TestBuilder;
-import com.android.tools.r8.TestParameters;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.google.common.collect.ImmutableList;
@@ -21,79 +20,28 @@
public class LibraryDesugaringSpecification {
- public static Descriptor JDK8_DESCRIPTOR = new Descriptor(24, 26, -1, 26);
- public static Descriptor JDK11_DESCRIPTOR = new Descriptor(24, 30, -1, 30);
- public static Descriptor EMPTY_DESCRIPTOR_24 = new Descriptor(-1, -1, -1, 24);
- public static Descriptor JDK11_PATH_DESCRIPTOR = new Descriptor(24, 30, 26, 32);
- public static Descriptor JDK11_LEGACY_DESCRIPTOR = new Descriptor(24, 10000, -1, 10000);
-
- private static class Descriptor {
- // Above this level emulated interface are not *entirely* desugared.
- private final int emulatedInterfaceDesugaring;
- // Above this level java.time is not *entirely* desugared.
- private final int timeDesugaring;
- // Above this level java.nio.file is not *entirely* desugared.
- private final int nioFileDesugaring;
- // Above this level no desugaring is required.
- private final int anyDesugaring;
-
- private Descriptor(
- int emulatedInterfaceDesugaring,
- int timeDesugaring,
- int nioFileDesugaring,
- int anyDesugaring) {
- this.emulatedInterfaceDesugaring = emulatedInterfaceDesugaring;
- this.timeDesugaring = timeDesugaring;
- this.nioFileDesugaring = nioFileDesugaring;
- this.anyDesugaring = anyDesugaring;
- }
-
- public int getEmulatedInterfaceDesugaring() {
- return emulatedInterfaceDesugaring;
- }
-
- public int getTimeDesugaring() {
- return timeDesugaring;
- }
-
- public int getNioFileDesugaring() {
- return nioFileDesugaring;
- }
-
- public int getAnyDesugaring() {
- return anyDesugaring;
- }
- }
-
// Main head specifications.
public static LibraryDesugaringSpecification JDK8 =
new LibraryDesugaringSpecification(
- "JDK8",
- DESUGARED_JDK_8_LIB_JAR,
- "desugar_jdk_libs.json",
- AndroidApiLevel.P,
- JDK8_DESCRIPTOR);
+ "JDK8", DESUGARED_JDK_8_LIB_JAR, "desugar_jdk_libs.json", AndroidApiLevel.P);
public static LibraryDesugaringSpecification JDK11 =
new LibraryDesugaringSpecification(
"JDK11",
getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs.json",
- AndroidApiLevel.R,
- JDK11_DESCRIPTOR);
+ AndroidApiLevel.R);
public static LibraryDesugaringSpecification JDK11_MINIMAL =
new LibraryDesugaringSpecification(
"JDK11_MINIMAL",
getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs_minimal.json",
- AndroidApiLevel.R,
- EMPTY_DESCRIPTOR_24);
+ AndroidApiLevel.R);
public static LibraryDesugaringSpecification JDK11_PATH =
new LibraryDesugaringSpecification(
"JDK11_PATH",
getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs_path.json",
- AndroidApiLevel.R,
- JDK11_PATH_DESCRIPTOR);
+ AndroidApiLevel.R);
// Legacy specifications.
public static LibraryDesugaringSpecification JDK11_PATH_ALTERNATIVE_3 =
@@ -101,23 +49,20 @@
"JDK11_PATH_ALTERNATIVE_3",
getUndesugaredJdk11LibJarForTesting(),
"jdk11/desugar_jdk_libs_path_alternative_3.json",
- AndroidApiLevel.R,
- JDK11_PATH_DESCRIPTOR);
+ AndroidApiLevel.R);
public static LibraryDesugaringSpecification JDK11_CHM_ONLY =
new LibraryDesugaringSpecification(
"JDK11_CHM_ONLY",
getUndesugaredJdk11LibJarForTesting(),
"jdk11/chm_only_desugar_jdk_libs.json",
- AndroidApiLevel.R,
- EMPTY_DESCRIPTOR_24);
+ AndroidApiLevel.R);
public static LibraryDesugaringSpecification JDK11_LEGACY =
new LibraryDesugaringSpecification(
"JDK11_LEGACY",
// The legacy specification is not using the undesugared JAR.
DESUGARED_JDK_11_LIB_JAR,
"jdk11/desugar_jdk_libs_legacy.json",
- AndroidApiLevel.R,
- JDK11_LEGACY_DESCRIPTOR);
+ AndroidApiLevel.R);
public static final LibraryDesugaringSpecification RELEASED_1_0_9 =
new LibraryDesugaringSpecification("1.0.9", AndroidApiLevel.P);
public static final LibraryDesugaringSpecification RELEASED_1_0_10 =
@@ -133,21 +78,15 @@
private final Set<Path> desugarJdkLibs;
private final Path specification;
private final Set<Path> libraryFiles;
- private final Descriptor descriptor;
private final String extraKeepRules;
public LibraryDesugaringSpecification(
- String name,
- Path desugarJdkLibs,
- String specificationPath,
- AndroidApiLevel androidJarLevel,
- Descriptor descriptor) {
+ String name, Path desugarJdkLibs, String specificationPath, AndroidApiLevel androidJarLevel) {
this(
name,
ImmutableSet.of(desugarJdkLibs, ToolHelper.DESUGAR_LIB_CONVERSIONS),
Paths.get("src/library_desugar/" + specificationPath),
ImmutableSet.of(ToolHelper.getAndroidJar(androidJarLevel)),
- descriptor,
"");
}
@@ -157,13 +96,11 @@
Set<Path> desugarJdkLibs,
Path specification,
Set<Path> libraryFiles,
- Descriptor descriptor,
String extraKeepRules) {
this.name = name;
this.desugarJdkLibs = desugarJdkLibs;
this.specification = specification;
this.libraryFiles = libraryFiles;
- this.descriptor = descriptor;
this.extraKeepRules = extraKeepRules;
}
@@ -175,7 +112,6 @@
Paths.get(DESUGARED_LIB_RELEASES_DIR, version, "desugar_jdk_libs_configuration.jar")),
Paths.get(DESUGARED_LIB_RELEASES_DIR, version, "desugar.json"),
ImmutableSet.of(ToolHelper.getAndroidJar(androidJarLevel)),
- JDK8_DESCRIPTOR,
"");
}
@@ -196,10 +132,6 @@
return libraryFiles;
}
- public Descriptor getDescriptor() {
- return descriptor;
- }
-
public String getExtraKeepRules() {
return extraKeepRules;
}
@@ -233,24 +165,4 @@
public static List<LibraryDesugaringSpecification> getJdk8Jdk11() {
return ImmutableList.of(JDK8, JDK11);
}
-
- public boolean hasEmulatedInterfaceDesugaring(TestParameters parameters) {
- return parameters.getApiLevel().getLevel() < descriptor.getEmulatedInterfaceDesugaring();
- }
-
- public boolean hasTimeDesugaring(TestParameters parameters) {
- return parameters.getApiLevel().getLevel() < descriptor.getTimeDesugaring();
- }
-
- public boolean hasNioFileDesugaring(TestParameters parameters) {
- return parameters.getApiLevel().getLevel() < descriptor.getNioFileDesugaring();
- }
-
- public boolean hasAnyDesugaring(TestParameters parameters) {
- return hasAnyDesugaring(parameters.getApiLevel());
- }
-
- public boolean hasAnyDesugaring(AndroidApiLevel apiLevel) {
- return apiLevel.getLevel() < descriptor.getAnyDesugaring();
- }
}