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.ClassVisitorAClassVisitorthat prints the classes it visits with aPrinter. 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 theHelloclass 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
Hellois defined by:public class Hello { public static void main(String[] args) { System.out.println("hello"); } }
-
-
Constructor Summary
Constructors Constructor Description TraceClassVisitor(java.io.PrintWriter printWriter)Constructs a newTraceClassVisitor.TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor, java.io.PrintWriter printWriter)Constructs a newTraceClassVisitor.TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor, Printer printer, java.io.PrintWriter printWriter)Constructs a newTraceClassVisitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidvisit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)org.objectweb.asm.AnnotationVisitorvisitAnnotation(java.lang.String descriptor, boolean visible)voidvisitAttribute(org.objectweb.asm.Attribute attribute)voidvisitEnd()org.objectweb.asm.FieldVisitorvisitField(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)voidvisitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)org.objectweb.asm.MethodVisitorvisitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)org.objectweb.asm.ModuleVisitorvisitModule(java.lang.String name, int flags, java.lang.String version)voidvisitNestHost(java.lang.String nestHost)voidvisitNestMember(java.lang.String nestMember)voidvisitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidvisitPermittedSubclass(java.lang.String permittedSubclass)org.objectweb.asm.RecordComponentVisitorvisitRecordComponent(java.lang.String name, java.lang.String descriptor, java.lang.String signature)voidvisitSource(java.lang.String file, java.lang.String debug)org.objectweb.asm.AnnotationVisitorvisitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String descriptor, boolean visible)
-
-
-
Field Detail
-
p
public final Printer p
The printer to convert the visited class into text.
-
-
Constructor Detail
-
TraceClassVisitor
public TraceClassVisitor(java.io.PrintWriter printWriter)
Constructs a newTraceClassVisitor.- Parameters:
printWriter- the print writer to be used to print the class. May be null.
-
TraceClassVisitor
public TraceClassVisitor(org.objectweb.asm.ClassVisitor classVisitor, java.io.PrintWriter printWriter)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, java.io.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 Detail
-
visit
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)- Overrides:
visitin classorg.objectweb.asm.ClassVisitor
-
visitSource
public void visitSource(java.lang.String file, java.lang.String debug)- Overrides:
visitSourcein classorg.objectweb.asm.ClassVisitor
-
visitModule
public org.objectweb.asm.ModuleVisitor visitModule(java.lang.String name, int flags, java.lang.String version)- Overrides:
visitModulein classorg.objectweb.asm.ClassVisitor
-
visitNestHost
public void visitNestHost(java.lang.String nestHost)
- Overrides:
visitNestHostin classorg.objectweb.asm.ClassVisitor
-
visitOuterClass
public void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String descriptor)- Overrides:
visitOuterClassin classorg.objectweb.asm.ClassVisitor
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String descriptor, boolean visible)- Overrides:
visitAnnotationin classorg.objectweb.asm.ClassVisitor
-
visitTypeAnnotation
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.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
public void visitNestMember(java.lang.String nestMember)
- Overrides:
visitNestMemberin classorg.objectweb.asm.ClassVisitor
-
visitPermittedSubclass
public void visitPermittedSubclass(java.lang.String permittedSubclass)
- Overrides:
visitPermittedSubclassin classorg.objectweb.asm.ClassVisitor
-
visitInnerClass
public void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)- Overrides:
visitInnerClassin classorg.objectweb.asm.ClassVisitor
-
visitRecordComponent
public org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String name, java.lang.String descriptor, java.lang.String signature)- Overrides:
visitRecordComponentin classorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)- Overrides:
visitFieldin classorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)- Overrides:
visitMethodin classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classorg.objectweb.asm.ClassVisitor
-
-