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"))