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.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructor; all pritning will go to stdout.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
void
void
void
enterAttribute
(Attribute obj) void
enterBCClass
(BCClass obj) void
enterBCField
(BCField obj) void
enterBCMethod
(BCMethod obj) void
void
void
void
void
void
void
void
enterEntry
(Entry obj) void
void
void
void
void
void
void
void
void
void
enterIntEntry
(IntEntry obj) void
void
void
void
void
void
void
enterLongEntry
(LongEntry obj) void
void
void
void
void
void
void
enterProject
(Project obj) void
void
void
void
void
void
void
enterUTF8Entry
(UTF8Entry obj) void
void
exitAnnotation
(Annotation obj) void
void
exitAttribute
(Attribute obj) void
exitBCClass
(BCClass obj) void
exitBCField
(BCField obj) void
exitBCMethod
(BCMethod obj) void
void
void
void
exitInnerClass
(InnerClass obj) void
void
exitLineNumber
(LineNumber obj) void
void
void
exitProject
(Project obj) static void
Invoke with the class or file names to pretty print; the functionality is similar to the javap -c command, but more detailed.private void
private void
private void
void
visit
(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
-
Field Details
-
_out
-
_prefix
-
-
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:
ClassNotFoundException
IOException
-
visit
Description copied from class:BCVisitor
Visit the given entity. -
enterProject
- Overrides:
enterProject
in classBCVisitor
-
exitProject
- Overrides:
exitProject
in classBCVisitor
-
enterBCClass
- Overrides:
enterBCClass
in classBCVisitor
-
exitBCClass
- Overrides:
exitBCClass
in classBCVisitor
-
enterBCField
- Overrides:
enterBCField
in classBCVisitor
-
exitBCField
- Overrides:
exitBCField
in classBCVisitor
-
enterBCMethod
- Overrides:
enterBCMethod
in classBCVisitor
-
exitBCMethod
- Overrides:
exitBCMethod
in classBCVisitor
-
enterAttribute
- Overrides:
enterAttribute
in classBCVisitor
-
exitAttribute
- Overrides:
exitAttribute
in classBCVisitor
-
enterConstantValue
- Overrides:
enterConstantValue
in classBCVisitor
-
enterExceptions
- Overrides:
enterExceptions
in classBCVisitor
-
enterSourceFile
- Overrides:
enterSourceFile
in classBCVisitor
-
enterCode
-
enterExceptionHandler
- Overrides:
enterExceptionHandler
in classBCVisitor
-
exitExceptionHandler
- Overrides:
exitExceptionHandler
in classBCVisitor
-
enterInnerClass
- Overrides:
enterInnerClass
in classBCVisitor
-
exitInnerClass
- Overrides:
exitInnerClass
in classBCVisitor
-
enterLineNumber
- Overrides:
enterLineNumber
in classBCVisitor
-
exitLineNumber
- Overrides:
exitLineNumber
in classBCVisitor
-
enterLocalVariable
- Overrides:
enterLocalVariable
in classBCVisitor
-
exitLocalVariable
- Overrides:
exitLocalVariable
in classBCVisitor
-
enterLocalVariableType
- Overrides:
enterLocalVariableType
in classBCVisitor
-
exitLocalVariableType
- Overrides:
exitLocalVariableType
in classBCVisitor
-
enterAnnotation
- Overrides:
enterAnnotation
in classBCVisitor
-
exitAnnotation
- Overrides:
exitAnnotation
in classBCVisitor
-
enterAnnotationProperty
- Overrides:
enterAnnotationProperty
in classBCVisitor
-
printAnnotationPropertyValue
-
exitAnnotationProperty
- Overrides:
exitAnnotationProperty
in classBCVisitor
-
enterInstruction
- Overrides:
enterInstruction
in classBCVisitor
-
exitInstruction
- Overrides:
exitInstruction
in classBCVisitor
-
enterClassInstruction
- Overrides:
enterClassInstruction
in classBCVisitor
-
enterConstantInstruction
- Overrides:
enterConstantInstruction
in classBCVisitor
-
enterGetFieldInstruction
- Overrides:
enterGetFieldInstruction
in classBCVisitor
-
enterIIncInstruction
- Overrides:
enterIIncInstruction
in classBCVisitor
-
enterJumpInstruction
- Overrides:
enterJumpInstruction
in classBCVisitor
-
enterIfInstruction
- Overrides:
enterIfInstruction
in classBCVisitor
-
enterLoadInstruction
- Overrides:
enterLoadInstruction
in classBCVisitor
-
enterLookupSwitchInstruction
- Overrides:
enterLookupSwitchInstruction
in classBCVisitor
-
enterMethodInstruction
- Overrides:
enterMethodInstruction
in classBCVisitor
-
enterMultiANewArrayInstruction
- Overrides:
enterMultiANewArrayInstruction
in classBCVisitor
-
enterNewArrayInstruction
- Overrides:
enterNewArrayInstruction
in classBCVisitor
-
enterPutFieldInstruction
- Overrides:
enterPutFieldInstruction
in classBCVisitor
-
enterRetInstruction
- Overrides:
enterRetInstruction
in classBCVisitor
-
enterStoreInstruction
- Overrides:
enterStoreInstruction
in classBCVisitor
-
enterTableSwitchInstruction
- Overrides:
enterTableSwitchInstruction
in classBCVisitor
-
enterWideInstruction
- Overrides:
enterWideInstruction
in classBCVisitor
-
enterConstantPool
- Overrides:
enterConstantPool
in classBCVisitor
-
exitConstantPool
- Overrides:
exitConstantPool
in classBCVisitor
-
enterEntry
- Overrides:
enterEntry
in classBCVisitor
-
exitEntry
-
enterClassEntry
- Overrides:
enterClassEntry
in classBCVisitor
-
enterDoubleEntry
- Overrides:
enterDoubleEntry
in classBCVisitor
-
enterFieldEntry
- Overrides:
enterFieldEntry
in classBCVisitor
-
enterFloatEntry
- Overrides:
enterFloatEntry
in classBCVisitor
-
enterIntEntry
- Overrides:
enterIntEntry
in classBCVisitor
-
enterInterfaceMethodEntry
- Overrides:
enterInterfaceMethodEntry
in classBCVisitor
-
enterLongEntry
- Overrides:
enterLongEntry
in classBCVisitor
-
enterMethodEntry
- Overrides:
enterMethodEntry
in classBCVisitor
-
enterNameAndTypeEntry
- Overrides:
enterNameAndTypeEntry
in classBCVisitor
-
enterStringEntry
- Overrides:
enterStringEntry
in classBCVisitor
-
enterUTF8Entry
- Overrides:
enterUTF8Entry
in classBCVisitor
-
println
-
openBlock
-
closeBlock
private void closeBlock()
-