summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-12-19 18:28:48 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-12-19 18:28:48 +0000
commit301a69dfe6fbb59072b6c1af278ec31c10cbdf35 (patch)
tree954d8ab4c9b7aff3c52f5aef335db46528800cbb
parentd780e0483a6182d1746384a35ae3c43f2c79f239 (diff)
parente481f8e66f7b85811fd197a0da4088f3d8ffd702 (diff)
downloaddesugar-pie-qpr1-s2-release.tar.gz
am: e481f8e66f Change-Id: I829b963e2150538b432e32951e5c4242780e56eb
-rw-r--r--java/com/google/devtools/build/android/desugar/BitFlags.java8
-rw-r--r--java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java20
-rw-r--r--java/com/google/devtools/build/android/desugar/LambdaClassMaker.java14
3 files changed, 31 insertions, 11 deletions
diff --git a/java/com/google/devtools/build/android/desugar/BitFlags.java b/java/com/google/devtools/build/android/desugar/BitFlags.java
index bb32c45..8be2288 100644
--- a/java/com/google/devtools/build/android/desugar/BitFlags.java
+++ b/java/com/google/devtools/build/android/desugar/BitFlags.java
@@ -15,14 +15,12 @@ package com.google.devtools.build.android.desugar;
import org.objectweb.asm.Opcodes;
-/**
- * Convenience method for working with {@code int} bitwise flags.
- */
+/** Convenience method for working with {@code int} bitwise flags. */
class BitFlags {
/**
- * Returns {@code true} iff <b>all</b> bits in {@code bitmask} are set in {@code flags}.
- * Trivially returns {@code true} if {@code bitmask} is 0.
+ * Returns {@code true} iff <b>all</b> bits in {@code bitmask} are set in {@code flags}. Trivially
+ * returns {@code true} if {@code bitmask} is 0.
*/
public static boolean isSet(int flags, int bitmask) {
return (flags & bitmask) == bitmask;
diff --git a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
index cbb3271..7f1591b 100644
--- a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
+++ b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
@@ -116,6 +116,26 @@ class CoreLibraryRewriter {
super.accept(cv, attrs, flags);
}
+ @Override
+ public String getClassName() {
+ return prefix(super.getClassName());
+ }
+
+ @Override
+ public String getSuperName() {
+ String result = super.getSuperName();
+ return result != null ? prefix(result) : null;
+ }
+
+ @Override
+ public String[] getInterfaces() {
+ String[] result = super.getInterfaces();
+ for (int i = 0, len = result.length; i < len; ++i) {
+ result[i] = prefix(result[i]);
+ }
+ return result;
+ }
+
/** Prefixes core library class names with prefix. */
private String prefix(String typeName) {
if (shouldPrefix(typeName)) {
diff --git a/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
index 1f240ef..72f039a 100644
--- a/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
+++ b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
@@ -27,6 +27,7 @@ import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Stream;
class LambdaClassMaker {
@@ -80,11 +81,12 @@ class LambdaClassMaker {
if (!Files.exists(rootPathPrefix.getParent())) {
return ImmutableList.of();
}
- return Files.list(rootPathPrefix.getParent())
- .filter(
- path ->
- path.toString().startsWith(rootPathPrefixStr)
- && !existingPaths.contains(path))
- .collect(ImmutableList.toImmutableList());
+ try (Stream<Path> paths =
+ Files.list(rootPathPrefix.getParent())
+ .filter(
+ path -> path.toString().startsWith(rootPathPrefixStr)
+ && !existingPaths.contains(path))) {
+ return paths.collect(ImmutableList.toImmutableList());
+ }
}
}