Disallow merging classes in the j$ package with classes in other packages
Bug: 134705306
Change-Id: I628f2e30f1b2b175aa34ba2567ed3dae9052392e
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 dc998e2..4bc3518 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -183,9 +183,9 @@
// Flag to toggle if DEX code objects should pass-through without IR processing.
public boolean passthroughDexCode = false;
- // TODO(b/134705306): Currently allow merging dex files resulting from Java 8 library
- // desugaring until all D8 users are complient.
- public boolean enableNeverMergePrefixes = false;
+
+ // Flag to toggle if the prefix based merge restriction should be enforced.
+ public boolean enableNeverMergePrefixes = true;
public Set<String> neverMergePrefixes = ImmutableSet.of("j$.");
public boolean libraryInterfacesMayHaveStaticInitialization = false;
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NeverMergeCoreLibDesugarClasses.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NeverMergeCoreLibDesugarClasses.java
index 2e12ac1..e2a5d8d 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NeverMergeCoreLibDesugarClasses.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/NeverMergeCoreLibDesugarClasses.java
@@ -46,7 +46,6 @@
.addInnerClasses(NeverMergeCoreLibDesugarClasses.class)
.addProgramDexFileData(builder.compile())
.setMinApi(parameters.getRuntime())
- .addOptionsModification(options -> options.enableNeverMergePrefixes = true)
.compileWithExpectedDiagnostics(diagnostics -> {
diagnostics.assertErrorsCount(1);
String message = diagnostics.getErrors().get(0).getDiagnosticMessage();
@@ -72,7 +71,6 @@
.addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.P))
.setMinApi(parameters.getRuntime())
.addProgramFiles(buildDesugaredLibrary(parameters.getApiLevel()))
- .addOptionsModification(options -> options.enableNeverMergePrefixes = true)
.compileWithExpectedDiagnostics(diagnostics -> {
diagnostics.assertErrorsCount(1);
String message = diagnostics.getErrors().get(0).getDiagnosticMessage();