Package serp.bytecode.visitor
Class PrettyPrintVisitor
- java.lang.Object
-
- serp.bytecode.visitor.BCVisitor
-
- serp.bytecode.visitor.PrettyPrintVisitor
-
public class PrettyPrintVisitor extends BCVisitor
Visitor type that outputs a detailed, formatted document of the visited entity; similar to the javap -c command but more detailed.- Author:
- Abe White
-
-
Constructor Summary
Constructors Constructor Description PrettyPrintVisitor()Constructor; all pritning will go to stdout.PrettyPrintVisitor(java.io.PrintWriter out)Constructor.
-
Method Summary
-
Methods inherited from class serp.bytecode.visitor.BCVisitor
enterAnnotations, enterArrayLoadInstruction, enterArrayStoreInstruction, enterBCMember, enterBootstrapMethod, enterCmpInstruction, enterConvertInstruction, enterDeprecated, enterInnerClasses, enterInvokeDynamicEntry, enterLineNumberTable, enterLocalVariableTable, enterLocalVariableTypeTable, enterMathInstruction, enterMethodHandleEntry, enterMethodTypeEntry, enterMonitorEnterInstruction, enterMonitorExitInstruction, enterReturnInstruction, enterStackInstruction, enterSynthetic, enterUnknownAttribute, exitAnnotations, exitArrayLoadInstruction, exitArrayStoreInstruction, exitBCMember, exitBootstrapMethod, exitClassEntry, exitClassInstruction, exitCmpInstruction, exitCode, exitConstantInstruction, exitConstantValue, exitConvertInstruction, exitDeprecated, exitDoubleEntry, exitExceptions, exitFieldEntry, exitFloatEntry, exitGetFieldInstruction, exitIfInstruction, exitIIncInstruction, exitInnerClasses, exitIntEntry, exitInterfaceMethodEntry, exitInvokeDynamicEntry, exitJumpInstruction, exitLineNumberTable, exitLoadInstruction, exitLocalVariableTable, exitLocalVariableTypeTable, exitLongEntry, exitLookupSwitchInstruction, exitMathInstruction, exitMethodEntry, exitMethodHandleEntry, exitMethodInstruction, exitMethodTypeEntry, exitMonitorEnterInstruction, exitMonitorExitInstruction, exitMultiANewArrayInstruction, exitNameAndTypeEntry, exitNewArrayInstruction, exitPutFieldInstruction, exitRetInstruction, exitReturnInstruction, exitSourceFile, exitStackInstruction, exitStoreInstruction, exitStringEntry, exitSynthetic, exitTableSwitchInstruction, exitUnknownAttribute, exitUTF8Entry, exitWideInstruction
-
-
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws java.lang.ClassNotFoundException, java.io.IOExceptionInvoke with the class or file names to pretty print; the functionality is similar to the javap -c command, but more detailed.- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
visit
public void visit(VisitAcceptor entity)
Description copied from class:BCVisitorVisit the given entity.
-
enterProject
public void enterProject(Project obj)
- Overrides:
enterProjectin classBCVisitor
-
exitProject
public void exitProject(Project obj)
- Overrides:
exitProjectin classBCVisitor
-
enterBCClass
public void enterBCClass(BCClass obj)
- Overrides:
enterBCClassin classBCVisitor
-
exitBCClass
public void exitBCClass(BCClass obj)
- Overrides:
exitBCClassin classBCVisitor
-
enterBCField
public void enterBCField(BCField obj)
- Overrides:
enterBCFieldin classBCVisitor
-
exitBCField
public void exitBCField(BCField obj)
- Overrides:
exitBCFieldin classBCVisitor
-
enterBCMethod
public void enterBCMethod(BCMethod obj)
- Overrides:
enterBCMethodin classBCVisitor
-
exitBCMethod
public void exitBCMethod(BCMethod obj)
- Overrides:
exitBCMethodin classBCVisitor
-
enterAttribute
public void enterAttribute(Attribute obj)
- Overrides:
enterAttributein classBCVisitor
-
exitAttribute
public void exitAttribute(Attribute obj)
- Overrides:
exitAttributein classBCVisitor
-
enterConstantValue
public void enterConstantValue(ConstantValue obj)
- Overrides:
enterConstantValuein classBCVisitor
-
enterExceptions
public void enterExceptions(Exceptions obj)
- Overrides:
enterExceptionsin classBCVisitor
-
enterSourceFile
public void enterSourceFile(SourceFile obj)
- Overrides:
enterSourceFilein classBCVisitor
-
enterExceptionHandler
public void enterExceptionHandler(ExceptionHandler obj)
- Overrides:
enterExceptionHandlerin classBCVisitor
-
exitExceptionHandler
public void exitExceptionHandler(ExceptionHandler obj)
- Overrides:
exitExceptionHandlerin classBCVisitor
-
enterInnerClass
public void enterInnerClass(InnerClass obj)
- Overrides:
enterInnerClassin classBCVisitor
-
exitInnerClass
public void exitInnerClass(InnerClass obj)
- Overrides:
exitInnerClassin classBCVisitor
-
enterLineNumber
public void enterLineNumber(LineNumber obj)
- Overrides:
enterLineNumberin classBCVisitor
-
exitLineNumber
public void exitLineNumber(LineNumber obj)
- Overrides:
exitLineNumberin classBCVisitor
-
enterLocalVariable
public void enterLocalVariable(LocalVariable obj)
- Overrides:
enterLocalVariablein classBCVisitor
-
exitLocalVariable
public void exitLocalVariable(LocalVariable obj)
- Overrides:
exitLocalVariablein classBCVisitor
-
enterLocalVariableType
public void enterLocalVariableType(LocalVariableType obj)
- Overrides:
enterLocalVariableTypein classBCVisitor
-
exitLocalVariableType
public void exitLocalVariableType(LocalVariableType obj)
- Overrides:
exitLocalVariableTypein classBCVisitor
-
enterAnnotation
public void enterAnnotation(Annotation obj)
- Overrides:
enterAnnotationin classBCVisitor
-
exitAnnotation
public void exitAnnotation(Annotation obj)
- Overrides:
exitAnnotationin classBCVisitor
-
enterAnnotationProperty
public void enterAnnotationProperty(Annotation.Property obj)
- Overrides:
enterAnnotationPropertyin classBCVisitor
-
exitAnnotationProperty
public void exitAnnotationProperty(Annotation.Property obj)
- Overrides:
exitAnnotationPropertyin classBCVisitor
-
enterInstruction
public void enterInstruction(Instruction obj)
- Overrides:
enterInstructionin classBCVisitor
-
exitInstruction
public void exitInstruction(Instruction obj)
- Overrides:
exitInstructionin classBCVisitor
-
enterClassInstruction
public void enterClassInstruction(ClassInstruction obj)
- Overrides:
enterClassInstructionin classBCVisitor
-
enterConstantInstruction
public void enterConstantInstruction(ConstantInstruction obj)
- Overrides:
enterConstantInstructionin classBCVisitor
-
enterGetFieldInstruction
public void enterGetFieldInstruction(GetFieldInstruction obj)
- Overrides:
enterGetFieldInstructionin classBCVisitor
-
enterIIncInstruction
public void enterIIncInstruction(IIncInstruction obj)
- Overrides:
enterIIncInstructionin classBCVisitor
-
enterJumpInstruction
public void enterJumpInstruction(JumpInstruction obj)
- Overrides:
enterJumpInstructionin classBCVisitor
-
enterIfInstruction
public void enterIfInstruction(IfInstruction obj)
- Overrides:
enterIfInstructionin classBCVisitor
-
enterLoadInstruction
public void enterLoadInstruction(LoadInstruction obj)
- Overrides:
enterLoadInstructionin classBCVisitor
-
enterLookupSwitchInstruction
public void enterLookupSwitchInstruction(LookupSwitchInstruction obj)
- Overrides:
enterLookupSwitchInstructionin classBCVisitor
-
enterMethodInstruction
public void enterMethodInstruction(MethodInstruction obj)
- Overrides:
enterMethodInstructionin classBCVisitor
-
enterMultiANewArrayInstruction
public void enterMultiANewArrayInstruction(MultiANewArrayInstruction obj)
- Overrides:
enterMultiANewArrayInstructionin classBCVisitor
-
enterNewArrayInstruction
public void enterNewArrayInstruction(NewArrayInstruction obj)
- Overrides:
enterNewArrayInstructionin classBCVisitor
-
enterPutFieldInstruction
public void enterPutFieldInstruction(PutFieldInstruction obj)
- Overrides:
enterPutFieldInstructionin classBCVisitor
-
enterRetInstruction
public void enterRetInstruction(RetInstruction obj)
- Overrides:
enterRetInstructionin classBCVisitor
-
enterStoreInstruction
public void enterStoreInstruction(StoreInstruction obj)
- Overrides:
enterStoreInstructionin classBCVisitor
-
enterTableSwitchInstruction
public void enterTableSwitchInstruction(TableSwitchInstruction obj)
- Overrides:
enterTableSwitchInstructionin classBCVisitor
-
enterWideInstruction
public void enterWideInstruction(WideInstruction obj)
- Overrides:
enterWideInstructionin classBCVisitor
-
enterConstantPool
public void enterConstantPool(ConstantPool obj)
- Overrides:
enterConstantPoolin classBCVisitor
-
exitConstantPool
public void exitConstantPool(ConstantPool obj)
- Overrides:
exitConstantPoolin classBCVisitor
-
enterEntry
public void enterEntry(Entry obj)
- Overrides:
enterEntryin classBCVisitor
-
enterClassEntry
public void enterClassEntry(ClassEntry obj)
- Overrides:
enterClassEntryin classBCVisitor
-
enterDoubleEntry
public void enterDoubleEntry(DoubleEntry obj)
- Overrides:
enterDoubleEntryin classBCVisitor
-
enterFieldEntry
public void enterFieldEntry(FieldEntry obj)
- Overrides:
enterFieldEntryin classBCVisitor
-
enterFloatEntry
public void enterFloatEntry(FloatEntry obj)
- Overrides:
enterFloatEntryin classBCVisitor
-
enterIntEntry
public void enterIntEntry(IntEntry obj)
- Overrides:
enterIntEntryin classBCVisitor
-
enterInterfaceMethodEntry
public void enterInterfaceMethodEntry(InterfaceMethodEntry obj)
- Overrides:
enterInterfaceMethodEntryin classBCVisitor
-
enterLongEntry
public void enterLongEntry(LongEntry obj)
- Overrides:
enterLongEntryin classBCVisitor
-
enterMethodEntry
public void enterMethodEntry(MethodEntry obj)
- Overrides:
enterMethodEntryin classBCVisitor
-
enterNameAndTypeEntry
public void enterNameAndTypeEntry(NameAndTypeEntry obj)
- Overrides:
enterNameAndTypeEntryin classBCVisitor
-
enterStringEntry
public void enterStringEntry(StringEntry obj)
- Overrides:
enterStringEntryin classBCVisitor
-
enterUTF8Entry
public void enterUTF8Entry(UTF8Entry obj)
- Overrides:
enterUTF8Entryin classBCVisitor
-
-