Make Proguard -dontobfuscate option turn on debug mode in R8
This will keep the locals information, which Proguard does for
-dontobfuscate, and make the target debuggable. It has the side effect
of also turning off inlining and outlining, but for a debuggable
target that should be th right thing to do.
This is only for compat Proguard mode. For R8 in general this
is controlled through debug mode (--debug/--release for the command
line)
Bug: 110283723
Change-Id: I902e6ff3cd88cd2f8093f2dffbcd0504829b745a
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index 86ff5a5..9fcca89 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -531,7 +531,8 @@
InternalOptions getInternalOptions() {
InternalOptions internal = new InternalOptions(proguardConfiguration, getReporter());
assert !internal.debug;
- internal.debug = getMode() == CompilationMode.DEBUG;
+ internal.debug = getMode() == CompilationMode.DEBUG
+ || (forceProguardCompatibility && !proguardConfiguration.isObfuscating());
internal.programConsumer = getProgramConsumer();
internal.minApiLevel = getMinApiLevel();
internal.enableDesugaring = getEnableDesugaring();