public class ClassPrinter extends org.objectweb.asm.ClassVisitor implements BytecodePrinter
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
access |
protected AnnotationPrinter[] |
annotations |
protected FieldPrinter[] |
fields |
protected java.lang.String[] |
imports |
protected ClassPrinter[] |
innerClasses |
protected java.lang.String[] |
interfaces |
protected MethodPrinter[] |
methods |
protected java.lang.String |
name |
protected ClassPrinter |
parent |
protected java.lang.String |
pkgName |
protected java.lang.String |
superName |
| Constructor and Description |
|---|
ClassPrinter(int api) |
ClassPrinter(int api,
ClassPrinter parent) |
| Modifier and Type | Method and Description |
|---|---|
void |
addImport(java.lang.String pkg) |
protected void |
getAnnotationLines(java.util.Collection<java.lang.String> lines,
int tabs) |
static java.lang.String |
getClassPath(java.lang.String name)
Converts an internal name or class descriptor into a classpath
|
protected void |
getFieldLines(java.util.Collection<java.lang.String> lines,
int tabs) |
protected void |
getHeaderLines(java.util.Collection<java.lang.String> lines,
int tabs) |
protected void |
getImportLines(java.util.Collection<java.lang.String> lines) |
protected void |
getInnerClassLines(java.util.Collection<java.lang.String> lines,
int tabs) |
protected void |
getMethodLines(java.util.Collection<java.lang.String> lines,
int tabs) |
protected void |
getPackageLines(java.util.Collection<java.lang.String> lines) |
static java.lang.String |
parseAccess(int access) |
protected AnnotationPrinter |
parseAnnotation(java.lang.String desc) |
static java.lang.String |
parseClassAccess(int access) |
protected FieldPrinter |
parseField(int access,
java.lang.String name,
java.lang.String typeName,
java.lang.Object value) |
protected void |
parseInnerClass(int access,
java.lang.String name,
java.lang.String desc) |
protected void |
parseInterfaces(java.lang.String[] interfaces) |
protected MethodPrinter |
parseMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String[] exceptions) |
protected void |
parseName(java.lang.String classpath) |
protected void |
parseSuper(java.lang.String classpath) |
static java.util.Map.Entry<java.lang.String,java.lang.String> |
splitPackage(java.lang.String classpath)
Assumes the classpath has been parsed already.
|
java.util.List<java.lang.String> |
toLines() |
void |
toLines(java.util.Collection<java.lang.String> lines,
int tabs) |
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces) |
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(java.lang.String descriptor,
boolean visible) |
void |
visitEnd() |
org.objectweb.asm.FieldVisitor |
visitField(int access,
java.lang.String name,
java.lang.String descriptor,
java.lang.String signature,
java.lang.Object value) |
void |
visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access) |
org.objectweb.asm.MethodVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String descriptor,
java.lang.String signature,
java.lang.String[] exceptions) |
protected final ClassPrinter parent
protected java.lang.String pkgName
protected java.lang.String[] imports
protected java.lang.String access
protected java.lang.String name
protected java.lang.String superName
protected java.lang.String[] interfaces
protected AnnotationPrinter[] annotations
protected FieldPrinter[] fields
protected MethodPrinter[] methods
protected ClassPrinter[] innerClasses
public ClassPrinter(int api)
public ClassPrinter(int api,
ClassPrinter parent)
public static java.lang.String getClassPath(java.lang.String name)
public static java.lang.String parseClassAccess(int access)
public static java.lang.String parseAccess(int access)
public static java.util.Map.Entry<java.lang.String,java.lang.String> splitPackage(java.lang.String classpath)
public void addImport(java.lang.String pkg)
protected void getAnnotationLines(java.util.Collection<java.lang.String> lines,
int tabs)
protected void getFieldLines(java.util.Collection<java.lang.String> lines,
int tabs)
protected void getHeaderLines(java.util.Collection<java.lang.String> lines,
int tabs)
protected void getImportLines(java.util.Collection<java.lang.String> lines)
protected void getInnerClassLines(java.util.Collection<java.lang.String> lines,
int tabs)
protected void getMethodLines(java.util.Collection<java.lang.String> lines,
int tabs)
protected void getPackageLines(java.util.Collection<java.lang.String> lines)
protected AnnotationPrinter parseAnnotation(java.lang.String desc)
protected FieldPrinter parseField(int access, java.lang.String name, java.lang.String typeName, java.lang.Object value)
protected void parseInnerClass(int access,
java.lang.String name,
java.lang.String desc)
protected void parseInterfaces(java.lang.String[] interfaces)
protected MethodPrinter parseMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String[] exceptions)
protected void parseName(java.lang.String classpath)
protected void parseSuper(java.lang.String classpath)
public java.util.List<java.lang.String> toLines()
public void toLines(java.util.Collection<java.lang.String> lines,
int tabs)
toLines in interface BytecodePrinterpublic void visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
visit in class org.objectweb.asm.ClassVisitorpublic org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String descriptor,
boolean visible)
visitAnnotation in class org.objectweb.asm.ClassVisitorpublic org.objectweb.asm.FieldVisitor visitField(int access,
java.lang.String name,
java.lang.String descriptor,
java.lang.String signature,
java.lang.Object value)
visitField in class org.objectweb.asm.ClassVisitorpublic org.objectweb.asm.MethodVisitor visitMethod(int access,
java.lang.String name,
java.lang.String descriptor,
java.lang.String signature,
java.lang.String[] exceptions)
visitMethod in class org.objectweb.asm.ClassVisitorpublic void visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
visitInnerClass in class org.objectweb.asm.ClassVisitorpublic void visitEnd()
visitEnd in class org.objectweb.asm.ClassVisitor