Package serp.bytecode.visitor
Class PrettyPrintVisitor
java.lang.Object
serp.bytecode.visitor.BCVisitor
serp.bytecode.visitor.PrettyPrintVisitor
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
ConstructorsConstructorDescriptionConstructor; all pritning will go to stdout.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidenterAttribute(Attribute obj) voidenterBCClass(BCClass obj) voidenterBCField(BCField obj) voidenterBCMethod(BCMethod obj) voidvoidvoidvoidvoidvoidvoidvoidenterEntry(Entry obj) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidenterIntEntry(IntEntry obj) voidvoidvoidvoidvoidvoidvoidenterLongEntry(LongEntry obj) voidvoidvoidvoidvoidvoidvoidenterProject(Project obj) voidvoidvoidvoidvoidvoidvoidenterUTF8Entry(UTF8Entry obj) voidvoidexitAnnotation(Annotation obj) voidvoidexitAttribute(Attribute obj) voidexitBCClass(BCClass obj) voidexitBCField(BCField obj) voidexitBCMethod(BCMethod obj) voidvoidvoidvoidexitInnerClass(InnerClass obj) voidvoidexitLineNumber(LineNumber obj) voidvoidvoidexitProject(Project obj) static voidInvoke with the class or file names to pretty print; the functionality is similar to the javap -c command, but more detailed.voidvisit(VisitAcceptor entity) Visit the given entity.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
-
Constructor Details
-
PrettyPrintVisitor
public PrettyPrintVisitor()Constructor; all pritning will go to stdout. -
PrettyPrintVisitor
Constructor.- Parameters:
out- the stream to print to
-
-
Method Details
-
main
Invoke with the class or file names to pretty print; the functionality is similar to the javap -c command, but more detailed.- Throws:
ClassNotFoundExceptionIOException
-
visit
Description copied from class:BCVisitorVisit the given entity. -
enterProject
- Overrides:
enterProjectin classBCVisitor
-
exitProject
- Overrides:
exitProjectin classBCVisitor
-
enterBCClass
- Overrides:
enterBCClassin classBCVisitor
-
exitBCClass
- Overrides:
exitBCClassin classBCVisitor
-
enterBCField
- Overrides:
enterBCFieldin classBCVisitor
-
exitBCField
- Overrides:
exitBCFieldin classBCVisitor
-
enterBCMethod
- Overrides:
enterBCMethodin classBCVisitor
-
exitBCMethod
- Overrides:
exitBCMethodin classBCVisitor
-
enterAttribute
- Overrides:
enterAttributein classBCVisitor
-
exitAttribute
- Overrides:
exitAttributein classBCVisitor
-
enterConstantValue
- Overrides:
enterConstantValuein classBCVisitor
-
enterExceptions
- Overrides:
enterExceptionsin classBCVisitor
-
enterSourceFile
- Overrides:
enterSourceFilein classBCVisitor
-
enterCode
-
enterExceptionHandler
- Overrides:
enterExceptionHandlerin classBCVisitor
-
exitExceptionHandler
- Overrides:
exitExceptionHandlerin classBCVisitor
-
enterInnerClass
- Overrides:
enterInnerClassin classBCVisitor
-
exitInnerClass
- Overrides:
exitInnerClassin classBCVisitor
-
enterLineNumber
- Overrides:
enterLineNumberin classBCVisitor
-
exitLineNumber
- Overrides:
exitLineNumberin classBCVisitor
-
enterLocalVariable
- Overrides:
enterLocalVariablein classBCVisitor
-
exitLocalVariable
- Overrides:
exitLocalVariablein classBCVisitor
-
enterLocalVariableType
- Overrides:
enterLocalVariableTypein classBCVisitor
-
exitLocalVariableType
- Overrides:
exitLocalVariableTypein classBCVisitor
-
enterAnnotation
- Overrides:
enterAnnotationin classBCVisitor
-
exitAnnotation
- Overrides:
exitAnnotationin classBCVisitor
-
enterAnnotationProperty
- Overrides:
enterAnnotationPropertyin classBCVisitor
-
exitAnnotationProperty
- Overrides:
exitAnnotationPropertyin classBCVisitor
-
enterInstruction
- Overrides:
enterInstructionin classBCVisitor
-
exitInstruction
- Overrides:
exitInstructionin classBCVisitor
-
enterClassInstruction
- Overrides:
enterClassInstructionin classBCVisitor
-
enterConstantInstruction
- Overrides:
enterConstantInstructionin classBCVisitor
-
enterGetFieldInstruction
- Overrides:
enterGetFieldInstructionin classBCVisitor
-
enterIIncInstruction
- Overrides:
enterIIncInstructionin classBCVisitor
-
enterJumpInstruction
- Overrides:
enterJumpInstructionin classBCVisitor
-
enterIfInstruction
- Overrides:
enterIfInstructionin classBCVisitor
-
enterLoadInstruction
- Overrides:
enterLoadInstructionin classBCVisitor
-
enterLookupSwitchInstruction
- Overrides:
enterLookupSwitchInstructionin classBCVisitor
-
enterMethodInstruction
- Overrides:
enterMethodInstructionin classBCVisitor
-
enterMultiANewArrayInstruction
- Overrides:
enterMultiANewArrayInstructionin classBCVisitor
-
enterNewArrayInstruction
- Overrides:
enterNewArrayInstructionin classBCVisitor
-
enterPutFieldInstruction
- Overrides:
enterPutFieldInstructionin classBCVisitor
-
enterRetInstruction
- Overrides:
enterRetInstructionin classBCVisitor
-
enterStoreInstruction
- Overrides:
enterStoreInstructionin classBCVisitor
-
enterTableSwitchInstruction
- Overrides:
enterTableSwitchInstructionin classBCVisitor
-
enterWideInstruction
- Overrides:
enterWideInstructionin classBCVisitor
-
enterConstantPool
- Overrides:
enterConstantPoolin classBCVisitor
-
exitConstantPool
- Overrides:
exitConstantPoolin classBCVisitor
-
enterEntry
- Overrides:
enterEntryin classBCVisitor
-
exitEntry
-
enterClassEntry
- Overrides:
enterClassEntryin classBCVisitor
-
enterDoubleEntry
- Overrides:
enterDoubleEntryin classBCVisitor
-
enterFieldEntry
- Overrides:
enterFieldEntryin classBCVisitor
-
enterFloatEntry
- Overrides:
enterFloatEntryin classBCVisitor
-
enterIntEntry
- Overrides:
enterIntEntryin classBCVisitor
-
enterInterfaceMethodEntry
- Overrides:
enterInterfaceMethodEntryin classBCVisitor
-
enterLongEntry
- Overrides:
enterLongEntryin classBCVisitor
-
enterMethodEntry
- Overrides:
enterMethodEntryin classBCVisitor
-
enterNameAndTypeEntry
- Overrides:
enterNameAndTypeEntryin classBCVisitor
-
enterStringEntry
- Overrides:
enterStringEntryin classBCVisitor
-
enterUTF8Entry
- Overrides:
enterUTF8Entryin classBCVisitor
-