aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
diff options
context:
space:
mode:
authorGravatar kmb <kmb@google.com>2018-02-26 13:56:47 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-26 13:58:04 -0800
commitcc090ed9b8544deea7a7c5cab17b263926e8c48b (patch)
treede7990cdcf71994c1affb29b210c91d9e8985559 /src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
parent8c72ffb4661b74ce0466d0fb68fe10af7bc54582 (diff)
add binary flag for core library desugaring and gate existing configuration flags by it.
RELNOTES: None. PiperOrigin-RevId: 187075897
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java b/src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
index 72c7eddaad..90e6bc0884 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/CoreLibrarySupport.java
@@ -17,8 +17,8 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
import com.google.common.base.Splitter;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.LinkedHashSet;
@@ -37,21 +37,24 @@ class CoreLibrarySupport {
private final CoreLibraryRewriter rewriter;
private final ClassLoader targetLoader;
/** Internal name prefixes that we want to move to a custom package. */
- private final ImmutableList<String> renamedPrefixes;
+ private final ImmutableSet<String> renamedPrefixes;
/** Internal names of interfaces whose default and static interface methods we'll emulate. */
- private final ImmutableList<Class<?>> emulatedInterfaces;
+ private final ImmutableSet<Class<?>> emulatedInterfaces;
/** Map from {@code owner#name} core library members to their new owners. */
private final ImmutableMap<String, String> memberMoves;
- public CoreLibrarySupport(CoreLibraryRewriter rewriter, ClassLoader targetLoader,
- ImmutableList<String> renamedPrefixes, ImmutableList<String> emulatedInterfaces,
+ public CoreLibrarySupport(
+ CoreLibraryRewriter rewriter,
+ ClassLoader targetLoader,
+ List<String> renamedPrefixes,
+ List<String> emulatedInterfaces,
List<String> memberMoves) {
this.rewriter = rewriter;
this.targetLoader = targetLoader;
checkArgument(
renamedPrefixes.stream().allMatch(prefix -> prefix.startsWith("java/")), renamedPrefixes);
- this.renamedPrefixes = renamedPrefixes;
- ImmutableList.Builder<Class<?>> classBuilder = ImmutableList.builder();
+ this.renamedPrefixes = ImmutableSet.copyOf(renamedPrefixes);
+ ImmutableSet.Builder<Class<?>> classBuilder = ImmutableSet.builder();
for (String itf : emulatedInterfaces) {
checkArgument(itf.startsWith("java/util/"), itf);
Class<?> clazz = loadFromInternal(rewriter.getPrefix() + itf);