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
FieldsModifier and TypeFieldDescriptionfinal PrinterThe printer to convert the visited class into text.Fields inherited from class org.objectweb.asm.ClassVisitor
api, cv -
Constructor Summary
ConstructorsConstructorDescriptionTraceClassVisitor(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 TypeMethodDescriptionvoidvisit(int version, int access, String name, String signature, String superName, String[] interfaces) org.objectweb.asm.AnnotationVisitorvisitAnnotation(String descriptor, boolean visible) voidvisitAttribute(org.objectweb.asm.Attribute attribute) voidvisitEnd()org.objectweb.asm.FieldVisitorvisitField(int access, String name, String descriptor, String signature, Object value) voidvisitInnerClass(String name, String outerName, String innerName, int access) org.objectweb.asm.MethodVisitorvisitMethod(int access, String name, String descriptor, String signature, String[] exceptions) org.objectweb.asm.ModuleVisitorvisitModule(String name, int flags, String version) voidvisitNestHost(String nestHost) voidvisitNestMember(String nestMember) voidvisitOuterClass(String owner, String name, String descriptor) voidvisitPermittedSubclass(String permittedSubclass) org.objectweb.asm.RecordComponentVisitorvisitRecordComponent(String name, String descriptor, String signature) voidvisitSource(String file, String debug) org.objectweb.asm.AnnotationVisitorvisitTypeAnnotation(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:
visitin classorg.objectweb.asm.ClassVisitor
-
visitSource
- Overrides:
visitSourcein classorg.objectweb.asm.ClassVisitor
-
visitModule
- Overrides:
visitModulein classorg.objectweb.asm.ClassVisitor
-
visitNestHost
- Overrides:
visitNestHostin classorg.objectweb.asm.ClassVisitor
-
visitOuterClass
- Overrides:
visitOuterClassin classorg.objectweb.asm.ClassVisitor
-
visitAnnotation
- Overrides:
visitAnnotationin classorg.objectweb.asm.ClassVisitor
-
visitTypeAnnotation
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, String descriptor, boolean visible) - Overrides:
visitTypeAnnotationin classorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute) - Overrides:
visitAttributein classorg.objectweb.asm.ClassVisitor
-
visitNestMember
- Overrides:
visitNestMemberin classorg.objectweb.asm.ClassVisitor
-
visitPermittedSubclass
- Overrides:
visitPermittedSubclassin classorg.objectweb.asm.ClassVisitor
-
visitInnerClass
- Overrides:
visitInnerClassin classorg.objectweb.asm.ClassVisitor
-
visitRecordComponent
public org.objectweb.asm.RecordComponentVisitor visitRecordComponent(String name, String descriptor, String signature) - Overrides:
visitRecordComponentin classorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) - Overrides:
visitFieldin classorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) - Overrides:
visitMethodin classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()- Overrides:
visitEndin classorg.objectweb.asm.ClassVisitor
-