Fix handling of synthesizedClassPrefix system property
Fixes: b/411075577
Change-Id: I2f5178c04d00be1475e35af06e30ed536c5c0c4f
diff --git a/src/main/java/com/android/tools/r8/D8Command.java b/src/main/java/com/android/tools/r8/D8Command.java
index ab0bd17..dbe422b 100644
--- a/src/main/java/com/android/tools/r8/D8Command.java
+++ b/src/main/java/com/android/tools/r8/D8Command.java
@@ -107,7 +107,8 @@
private DesugarGraphConsumer desugarGraphConsumer = null;
private SyntheticInfoConsumer syntheticInfoConsumer = null;
private StringConsumer desugaredLibraryKeepRuleConsumer = null;
- private String synthesizedClassPrefix = "";
+ private String synthesizedClassPrefix =
+ System.getProperty("com.android.tools.r8.synthesizedClassPrefix", "");
private boolean enableMainDexListCheck = true;
private boolean minimalMainDex = false;
private final List<ProguardConfigurationSource> mainDexRules = new ArrayList<>();
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index a8201a7..627eb12 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -146,7 +146,8 @@
private Consumer<? super R8BuildMetadata> buildMetadataConsumer = null;
private final FeatureSplitConfiguration.Builder featureSplitConfigurationBuilder =
FeatureSplitConfiguration.builder();
- private String synthesizedClassPrefix = "";
+ private String synthesizedClassPrefix =
+ System.getProperty("com.android.tools.r8.synthesizedClassPrefix", "");
private boolean enableMissingLibraryApiModeling = false;
private boolean enableExperimentalKeepAnnotations =
System.getProperty("com.android.tools.r8.enableKeepAnnotations") != null;
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/LibraryDesugaringOptions.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/LibraryDesugaringOptions.java
index 07e86d2..0a6aa20 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/LibraryDesugaringOptions.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/LibraryDesugaringOptions.java
@@ -161,15 +161,13 @@
&& synthesizedClassPrefix.isEmpty()) {
return;
}
- String prefix =
- synthesizedClassPrefix.isEmpty()
- ? System.getProperty("com.android.tools.r8.synthesizedClassPrefix", "")
- : synthesizedClassPrefix;
String postPrefix = System.getProperty("com.android.tools.r8.desugaredLibraryPostPrefix", null);
setDesugaredLibrarySpecification(desugaredLibrarySpecification, postPrefix);
- String post =
- postPrefix == null ? "" : DescriptorUtils.getPackageBinaryNameFromJavaType(postPrefix);
- this.synthesizedClassPrefix = prefix.isEmpty() ? "" : prefix + post;
+ if (!synthesizedClassPrefix.isEmpty()) {
+ String post =
+ postPrefix == null ? "" : DescriptorUtils.getPackageBinaryNameFromJavaType(postPrefix);
+ this.synthesizedClassPrefix = synthesizedClassPrefix + post;
+ }
}
private void setDesugaredLibrarySpecification(