summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java b/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
index 56e5f18..c6fd0b4 100644
--- a/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
+++ b/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
@@ -56,7 +56,14 @@ class CoreLibrarySupport {
public boolean isRenamedCoreLibrary(String internalName) {
String unprefixedName = rewriter.unprefix(internalName);
- return renamedPrefixes.stream().anyMatch(prefix -> unprefixedName.startsWith(prefix));
+ if (!unprefixedName.startsWith("java/")) {
+ return false; // shortcut
+ }
+ // Rename any classes desugar might generate under java/ (for emulated interfaces) as well as
+ // configured prefixes
+ return unprefixedName.contains("$$Lambda$")
+ || unprefixedName.endsWith("$$CC")
+ || renamedPrefixes.stream().anyMatch(prefix -> unprefixedName.startsWith(prefix));
}
public String renameCoreLibrary(String internalName) {