Put SourceDebugExtensionRewriter under options flag
Bug: 145985445
Change-Id: I79d1f618ffb86b841be64464ed7172c1527fc79c
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 5e78c45..b4ae1c8 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -321,9 +321,11 @@
appView.rootSet().checkAllRulesAreUsed(options);
- appView.setSourceDebugExtensionRewriter(
- new SourceDebugExtensionRewriter(appView)
- .analyze(appView.withLiveness().appInfo()::isLiveProgramClass));
+ if (appView.options().enableSourceDebugExtensionRewriter) {
+ appView.setSourceDebugExtensionRewriter(
+ new SourceDebugExtensionRewriter(appView)
+ .analyze(appView.withLiveness().appInfo()::isLiveProgramClass));
+ }
if (options.proguardSeedsConsumer != null) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
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 4e18f84..40633b6 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -223,6 +223,7 @@
public boolean enablePropagationOfConstantsAtCallSites = false;
public boolean encodeChecksums = false;
public BiPredicate<String, Long> dexClassChecksumFilter = (name, checksum) -> true;
+ public boolean enableSourceDebugExtensionRewriter = false;
public int callGraphLikelySpuriousCallEdgeThreshold = 50;
diff --git a/src/test/java/com/android/tools/r8/retrace/KotlinInlineFunctionRetraceTest.java b/src/test/java/com/android/tools/r8/retrace/KotlinInlineFunctionRetraceTest.java
index 4d40ef4..d81c771 100644
--- a/src/test/java/com/android/tools/r8/retrace/KotlinInlineFunctionRetraceTest.java
+++ b/src/test/java/com/android/tools/r8/retrace/KotlinInlineFunctionRetraceTest.java
@@ -83,6 +83,8 @@
.addKeepAttributes("SourceFile", "LineNumberTable")
.setMode(CompilationMode.RELEASE)
.addKeepMainRule(main)
+ .addOptionsModification(
+ internalOptions -> internalOptions.enableSourceDebugExtensionRewriter = true)
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), main)
.assertFailureWithErrorThatMatches(containsString("inlineExceptionStatic"))
@@ -108,6 +110,8 @@
.addKeepAttributes("SourceFile", "LineNumberTable")
.setMode(CompilationMode.RELEASE)
.addKeepMainRule(main)
+ .addOptionsModification(
+ internalOptions -> internalOptions.enableSourceDebugExtensionRewriter = true)
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), main)
.assertFailureWithErrorThatMatches(containsString("inlineExceptionInstance"))
@@ -133,6 +137,8 @@
.addKeepAttributes("SourceFile", "LineNumberTable")
.setMode(CompilationMode.RELEASE)
.addKeepMainRule(main)
+ .addOptionsModification(
+ internalOptions -> internalOptions.enableSourceDebugExtensionRewriter = true)
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), main)
.assertFailureWithErrorThatMatches(containsString("inlineExceptionStatic"))
@@ -160,6 +166,8 @@
.addKeepAttributes("SourceFile", "LineNumberTable")
.setMode(CompilationMode.RELEASE)
.addKeepMainRule(main)
+ .addOptionsModification(
+ internalOptions -> internalOptions.enableSourceDebugExtensionRewriter = true)
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), main)
.assertFailureWithErrorThatMatches(containsString("inlineExceptionStatic"))