summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorkmb <kmb@google.com>2018-02-07 16:27:17 -0800
committerIvan Gavrilovic <gavra@google.com>2018-05-04 10:37:23 +0100
commit0633971679f2f1e15eb2bb2c2326e2a0e26033c6 (patch)
tree3a5b7e00852ab8438a9f8484e5e567f6564b0e71 /java
parentc69bee050bf45cc49fc500dd4a495181cb23a645 (diff)
downloaddesugar-0633971679f2f1e15eb2bb2c2326e2a0e26033c6.tar.gz
Rename generated core classes during core library desugaring
RELNOTES: None. PiperOrigin-RevId: 184915177 GitOrigin-RevId: 154317e1269b1925722754291a8c7181ccd005f6 Change-Id: I2974e07e3154ec481579cb191c48bc2f8d0af06f
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) {