Revert "Add temporary flag for best desugaring -IA classes generation"
This reverts commit a5489a1d529fca38645c4ca18651743e462f0ed8.
Bug: b/359546659
Change-Id: I2e2aadde02a26e1821ba0650ebf81001327046ac
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
index 0550d47..55221e7 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
@@ -441,70 +441,40 @@
}
private DexClass getConstructorArgumentClass(DexClassAndMethod constructor) {
- if (!appView.options().legacyNestDesugaringIAClasses) {
- return syntheticNestConstructorTypes.get(constructor.getHolder().getNestHost());
- } else {
- return syntheticNestConstructorTypes.get(constructor.getHolderType());
- }
+ return syntheticNestConstructorTypes.get(constructor.getHolder().getNestHost());
}
DexClass ensureConstructorArgumentClass(DexClassAndMethod constructor) {
assert constructor.getDefinition().isInstanceInitializer();
assert constructor.isProgramMethod() || constructor.isClasspathMethod();
- if (!appView.options().legacyNestDesugaringIAClasses) {
- DexType hostType =
- constructor.isProgramMethod()
- ? constructor.asProgramMethod().getHolder().getNestHost()
- : constructor.asClasspathMethod().getHolder().getNestHost();
- DexClass host = appView.definitionFor(hostType);
- return syntheticNestConstructorTypes.computeIfAbsent(
- hostType,
- holder -> {
- if (host.isProgramClass()) {
- return appView
- .getSyntheticItems()
- .createFixedClass(
- kinds -> kinds.INIT_TYPE_ARGUMENT,
- host.asProgramClass(),
- appView,
- builder -> {});
- } else {
- assert host.isClasspathClass();
- return appView
- .getSyntheticItems()
- .ensureFixedClasspathClass(
- kinds -> kinds.INIT_TYPE_ARGUMENT,
- host.asClasspathClass(),
- appView,
- ignored -> {},
- ignored -> {});
- }
- });
- } else {
- return syntheticNestConstructorTypes.computeIfAbsent(
- constructor.getHolderType(),
- holder -> {
- if (constructor.isProgramMethod()) {
- return appView
- .getSyntheticItems()
- .createFixedClass(
- kinds -> kinds.INIT_TYPE_ARGUMENT,
- constructor.asProgramMethod().getHolder(),
- appView,
- builder -> {});
- } else {
- assert constructor.isClasspathMethod();
- return appView
- .getSyntheticItems()
- .ensureFixedClasspathClass(
- kinds -> kinds.INIT_TYPE_ARGUMENT,
- constructor.asClasspathMethod().getHolder(),
- appView,
- ignored -> {},
- ignored -> {});
- }
- });
- }
+ DexType hostType =
+ constructor.isProgramMethod()
+ ? constructor.asProgramMethod().getHolder().getNestHost()
+ : constructor.asClasspathMethod().getHolder().getNestHost();
+ DexClass host = appView.definitionFor(hostType);
+ return syntheticNestConstructorTypes.computeIfAbsent(
+ hostType,
+ holder -> {
+ if (host.isProgramClass()) {
+ return appView
+ .getSyntheticItems()
+ .createFixedClass(
+ kinds -> kinds.INIT_TYPE_ARGUMENT,
+ host.asProgramClass(),
+ appView,
+ builder -> {});
+ } else {
+ assert host.isClasspathClass();
+ return appView
+ .getSyntheticItems()
+ .ensureFixedClasspathClass(
+ kinds -> kinds.INIT_TYPE_ARGUMENT,
+ host.asClasspathClass(),
+ appView,
+ ignored -> {},
+ ignored -> {});
+ }
+ });
}
DexMethod getConstructorBridgeReference(
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 32658ea..711cfe5 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -526,10 +526,6 @@
// Flag to allow force nest desugaring, even if natively supported on the chosen API level.
public boolean forceNestDesugaring =
System.getProperty("com.android.tools.r8.forceNestDesugaring") != null;
- // Flag to use legacy generation of -IA classes for nests (only for Platform until aosp/3241282
- // lands).
- public boolean legacyNestDesugaringIAClasses =
- System.getProperty("com.android.tools.r8.legacyNestDesugaringIAClasses") != null;
// TODO(b/293591931): Remove this flag.
// Flag to allow permitted subclasses annotations in DEX. See b/231930852 for context.
diff --git a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java b/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java
index 2de3600..5e18f9c 100644
--- a/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java
+++ b/src/test/examplesJava11/nesthostexample/NestInitArgumentContextTest.java
@@ -29,15 +29,10 @@
@Parameter(1)
public boolean intermediate;
- @Parameter(2)
- public boolean legacyNestDesugaringIAClasses;
-
- @Parameters(name = "{0}, intermediate = {1}, legacyNestDesugaringIAClasses = {2}")
+ @Parameters(name = "{0}, intermediate = {1}")
public static List<Object[]> data() {
return buildParameters(
- getTestParameters().withDexRuntimesAndAllApiLevels().build(),
- BooleanUtils.values(),
- BooleanUtils.values());
+ getTestParameters().withDexRuntimesAndAllApiLevels().build(), BooleanUtils.values());
}
@Test
@@ -46,13 +41,11 @@
.addProgramClassesAndInnerClasses(NestInitArgumentContextClass.class)
.setMinApi(parameters)
.setIntermediate(intermediate)
- .addOptionsModification(
- options -> options.legacyNestDesugaringIAClasses = legacyNestDesugaringIAClasses)
.compile()
.inspect(
inspector ->
assertEquals(
- legacyNestDesugaringIAClasses ? 5 : 1,
+ 1,
inspector.allClasses().stream()
.map(ClassSubject::getFinalName)
.filter(name -> name.endsWith("-IA"))
@@ -76,13 +69,11 @@
.addClasspathClasses(innerClasses)
.setMinApi(parameters)
.setIntermediate(intermediate)
- .addOptionsModification(
- options -> options.legacyNestDesugaringIAClasses = legacyNestDesugaringIAClasses)
.compile()
.inspect(
inspector ->
assertEquals(
- legacyNestDesugaringIAClasses ? 1 : 0,
+ 0,
inspector.allClasses().stream()
.map(ClassSubject::getFinalName)
.filter(name -> name.endsWith("-IA"))
@@ -96,8 +87,6 @@
.addClasspathClasses(innerClasses)
.setMinApi(parameters)
.setIntermediate(intermediate)
- .addOptionsModification(
- options -> options.legacyNestDesugaringIAClasses = legacyNestDesugaringIAClasses)
.compile()
.inspect(
inspector ->
@@ -113,13 +102,11 @@
.addProgramFiles(innerClassesCompiled)
.addProgramFiles(outerClassCompiled)
.setMinApi(parameters)
- .addOptionsModification(
- options -> options.legacyNestDesugaringIAClasses = legacyNestDesugaringIAClasses)
.compile()
.inspect(
inspector ->
assertEquals(
- legacyNestDesugaringIAClasses ? 5 : 1,
+ 1,
inspector.allClasses().stream()
.map(ClassSubject::getFinalName)
.filter(name -> name.endsWith("-IA"))