summaryrefslogtreecommitdiff
path: root/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java')
-rw-r--r--java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
index 456fdb5..698fc53 100644
--- a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
+++ b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.android.desugar;
import java.io.IOException;
import java.io.InputStream;
+import javax.annotation.Nullable;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
@@ -156,6 +157,8 @@ class CoreLibraryRewriter {
public class UnprefixingClassWriter extends ClassVisitor {
private final ClassWriter writer;
+ private String finalClassName;
+
UnprefixingClassWriter(int flags) {
super(Opcodes.ASM6);
this.writer = new ClassWriter(flags);
@@ -173,8 +176,26 @@ class CoreLibraryRewriter {
}
}
+ /** Returns the (unprefixed) name of the class once written. */
+ @Nullable
+ String getClassName() {
+ return finalClassName;
+ }
+
byte[] toByteArray() {
return writer.toByteArray();
}
+
+ @Override
+ public void visit(
+ int version,
+ int access,
+ String name,
+ String signature,
+ String superName,
+ String[] interfaces) {
+ finalClassName = unprefix(name);
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
}
}