Package org.objectweb.asm.util
Class TraceClassVisitor
java.lang.Object
org.objectweb.asm.ClassVisitor
org.objectweb.asm.util.TraceClassVisitor
public final class TraceClassVisitor
extends org.objectweb.asm.ClassVisitor
A
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"); } }
-
Field Summary
Modifier and TypeFieldDescriptionfinal Printer
The printer to convert the visited class into text.Fields inherited from class org.objectweb.asm.ClassVisitor
api, cv
-
Constructor Summary
ConstructorDescriptionTraceClassVisitor
(PrintWriter printWriter) Constructs a newTraceClassVisitor
.TraceClassVisitor
(org.objectweb.asm.ClassVisitor classVisitor, PrintWriter printWriter) Constructs a newTraceClassVisitor
.TraceClassVisitor
(org.objectweb.asm.ClassVisitor classVisitor, Printer printer, PrintWriter printWriter) Constructs a newTraceClassVisitor
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
visit
(int version, int access, String name, String signature, String superName, String[] interfaces) org.objectweb.asm.AnnotationVisitor
visitAnnotation
(String descriptor, boolean visible) void
visitAttribute
(org.objectweb.asm.Attribute attribute) void
visitEnd()
org.objectweb.asm.FieldVisitor
visitField
(int access, String name, String descriptor, String signature, Object value) void
visitInnerClass
(String name, String outerName, String innerName, int access) org.objectweb.asm.MethodVisitor
visitMethod
(int access, String name, String descriptor, String signature, String[] exceptions) org.objectweb.asm.ModuleVisitor
visitModule
(String name, int flags, String version) void
visitNestHost
(String nestHost) void
visitNestMember
(String nestMember) void
visitOuterClass
(String owner, String name, String descriptor) void
visitPermittedSubclass
(String permittedSubclass) org.objectweb.asm.RecordComponentVisitor
visitRecordComponent
(String name, String descriptor, String signature) void
visitSource
(String file, String debug) org.objectweb.asm.AnnotationVisitor
visitTypeAnnotation
(int typeRef, org.objectweb.asm.TypePath typePath, String descriptor, boolean visible) Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate
-
Field Details
-
p
The printer to convert the visited class into text.
-
-
Constructor Details
-
TraceClassVisitor
Constructs a newTraceClassVisitor
.- Parameters:
printWriter
- the print writer to be used to print the class. May be null.
-
TraceClassVisitor
Constructs a newTraceClassVisitor
.- Parameters:
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.
-
TraceClassVisitor
public TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor, Printer printer, PrintWriter printWriter) Constructs a newTraceClassVisitor
.- Parameters:
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.
-
-
Method Details
-
visit
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) - Overrides:
visit
in classorg.objectweb.asm.ClassVisitor
-
visitSource
- Overrides:
visitSource
in classorg.objectweb.asm.ClassVisitor
-
visitModule
- Overrides:
visitModule
in classorg.objectweb.asm.ClassVisitor
-
visitNestHost
- Overrides:
visitNestHost
in classorg.objectweb.asm.ClassVisitor
-
visitOuterClass
- Overrides:
visitOuterClass
in classorg.objectweb.asm.ClassVisitor
-
visitAnnotation
- Overrides:
visitAnnotation
in classorg.objectweb.asm.ClassVisitor
-
visitTypeAnnotation
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, String descriptor, boolean visible) - Overrides:
visitTypeAnnotation
in classorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute) - Overrides:
visitAttribute
in classorg.objectweb.asm.ClassVisitor
-
visitNestMember
- Overrides:
visitNestMember
in classorg.objectweb.asm.ClassVisitor
-
visitPermittedSubclass
- Overrides:
visitPermittedSubclass
in classorg.objectweb.asm.ClassVisitor
-
visitInnerClass
- Overrides:
visitInnerClass
in classorg.objectweb.asm.ClassVisitor
-
visitRecordComponent
public org.objectweb.asm.RecordComponentVisitor visitRecordComponent(String name, String descriptor, String signature) - Overrides:
visitRecordComponent
in classorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) - Overrides:
visitField
in classorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) - Overrides:
visitMethod
in classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()- Overrides:
visitEnd
in classorg.objectweb.asm.ClassVisitor
-