public final class TraceClassVisitor
extends org.objectweb.asm.ClassVisitor
ClassVisitor that prints the classes it visits with a Printer. This class
visitor can be used in the middle of a class visitor chain to trace the class that is visited at
a given point in this chain. This may be useful for debugging purposes.
When used with a Textifier, the trace printed when visiting the Hello class
is the following:
// class version 49.0 (49) // access flags 0x21 public class Hello {
// compiled from: Hello.java
// access flags 0x1
public <init> ()V
ALOAD 0
INVOKESPECIAL java/lang/Object <init> ()V
RETURN
MAXSTACK = 1 MAXLOCALS = 1
// access flags 0x9
public static main ([Ljava/lang/String;)V
GETSTATIC java/lang/System out Ljava/io/PrintStream;
LDC "hello"
INVOKEVIRTUAL java/io/PrintStream println (Ljava/lang/String;)V
RETURN
MAXSTACK = 2 MAXLOCALS = 1
}
where Hello is defined by:
public class Hello {
public static void main(String[] args) {
System.out.println("hello");
}
}
| Modifier and Type | Field and Description |
|---|---|
Printer |
p
The printer to convert the visited class into text.
|
| Constructor and Description |
|---|
TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor,
Printer printer,
java.io.PrintWriter printWriter)
Constructs a new
TraceClassVisitor. |
TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor,
java.io.PrintWriter printWriter)
Constructs a new
TraceClassVisitor. |
TraceClassVisitor(java.io.PrintWriter printWriter)
Constructs a new
TraceClassVisitor. |
| Modifier and Type | Method and Description |
|---|---|
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 |
visitAttribute(org.objectweb.asm.Attribute attribute) |
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) |
org.objectweb.asm.ModuleVisitor |
visitModule(java.lang.String name,
int flags,
java.lang.String version) |
void |
visitOuterClass(java.lang.String owner,
java.lang.String name,
java.lang.String descriptor) |
void |
visitSource(java.lang.String file,
java.lang.String debug) |
org.objectweb.asm.AnnotationVisitor |
visitTypeAnnotation(int typeRef,
org.objectweb.asm.TypePath typePath,
java.lang.String descriptor,
boolean visible) |
public final Printer p
public TraceClassVisitor(java.io.PrintWriter printWriter)
TraceClassVisitor.printWriter - the print writer to be used to print the class. May be null.public TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor,
java.io.PrintWriter printWriter)
TraceClassVisitor.classVisitor - the class visitor to which to delegate calls. May be null.printWriter - the print writer to be used to print the class. May be null.public TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor,
Printer printer,
java.io.PrintWriter printWriter)
TraceClassVisitor.classVisitor - the class visitor to which to delegate calls. May be null.printer - the printer to convert the visited class into text.printWriter - the print writer to be used to print the class. May be null.public 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 void visitSource(java.lang.String file,
java.lang.String debug)
visitSource in class org.objectweb.asm.ClassVisitorpublic org.objectweb.asm.ModuleVisitor visitModule(java.lang.String name,
int flags,
java.lang.String version)
visitModule in class org.objectweb.asm.ClassVisitorpublic void visitOuterClass(java.lang.String owner,
java.lang.String name,
java.lang.String descriptor)
visitOuterClass 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.AnnotationVisitor visitTypeAnnotation(int typeRef,
org.objectweb.asm.TypePath typePath,
java.lang.String descriptor,
boolean visible)
visitTypeAnnotation in class org.objectweb.asm.ClassVisitorpublic void visitAttribute(org.objectweb.asm.Attribute attribute)
visitAttribute 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 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 visitEnd()
visitEnd in class org.objectweb.asm.ClassVisitor