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.
-
-
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.IOException
Invoke with the class or file names to pretty print; the functionality is similar to the javap -c command, but more detailed.- Throws:
java.lang.ClassNotFoundException
java.io.IOException
-
visit
public void visit(VisitAcceptor entity)
Description copied from class:BCVisitor
Visit the given entity.
-
enterProject
public void enterProject(Project obj)
- Overrides:
enterProject
in classBCVisitor
-
exitProject
public void exitProject(Project obj)
- Overrides:
exitProject
in classBCVisitor
-
enterBCClass
public void enterBCClass(BCClass obj)
- Overrides:
enterBCClass
in classBCVisitor
-
exitBCClass
public void exitBCClass(BCClass obj)
- Overrides:
exitBCClass
in classBCVisitor
-
enterBCField
public void enterBCField(BCField obj)
- Overrides:
enterBCField
in classBCVisitor
-
exitBCField
public void exitBCField(BCField obj)
- Overrides:
exitBCField
in classBCVisitor
-
enterBCMethod
public void enterBCMethod(BCMethod obj)
- Overrides:
enterBCMethod
in classBCVisitor
-
exitBCMethod
public void exitBCMethod(BCMethod obj)
- Overrides:
exitBCMethod
in classBCVisitor
-
enterAttribute
public void enterAttribute(Attribute obj)
- Overrides:
enterAttribute
in classBCVisitor
-
exitAttribute
public void exitAttribute(Attribute obj)
- Overrides:
exitAttribute
in classBCVisitor
-
enterConstantValue
public void enterConstantValue(ConstantValue obj)
- Overrides:
enterConstantValue
in classBCVisitor
-
enterExceptions
public void enterExceptions(Exceptions obj)
- Overrides:
enterExceptions
in classBCVisitor
-
enterSourceFile
public void enterSourceFile(SourceFile obj)
- Overrides:
enterSourceFile
in classBCVisitor
-
enterExceptionHandler
public void enterExceptionHandler(ExceptionHandler obj)
- Overrides:
enterExceptionHandler
in classBCVisitor
-
exitExceptionHandler
public void exitExceptionHandler(ExceptionHandler obj)
- Overrides:
exitExceptionHandler
in classBCVisitor
-
enterInnerClass
public void enterInnerClass(InnerClass obj)
- Overrides:
enterInnerClass
in classBCVisitor
-
exitInnerClass
public void exitInnerClass(InnerClass obj)
- Overrides:
exitInnerClass
in classBCVisitor
-
enterLineNumber
public void enterLineNumber(LineNumber obj)
- Overrides:
enterLineNumber
in classBCVisitor
-
exitLineNumber
public void exitLineNumber(LineNumber obj)
- Overrides:
exitLineNumber
in classBCVisitor
-
enterLocalVariable
public void enterLocalVariable(LocalVariable obj)
- Overrides:
enterLocalVariable
in classBCVisitor
-
exitLocalVariable
public void exitLocalVariable(LocalVariable obj)
- Overrides:
exitLocalVariable
in classBCVisitor
-
enterLocalVariableType
public void enterLocalVariableType(LocalVariableType obj)
- Overrides:
enterLocalVariableType
in classBCVisitor
-
exitLocalVariableType
public void exitLocalVariableType(LocalVariableType obj)
- Overrides:
exitLocalVariableType
in classBCVisitor
-
enterAnnotation
public void enterAnnotation(Annotation obj)
- Overrides:
enterAnnotation
in classBCVisitor
-
exitAnnotation
public void exitAnnotation(Annotation obj)
- Overrides:
exitAnnotation
in classBCVisitor
-
enterAnnotationProperty
public void enterAnnotationProperty(Annotation.Property obj)
- Overrides:
enterAnnotationProperty
in classBCVisitor
-
printAnnotationPropertyValue
private void printAnnotationPropertyValue(java.lang.Object obj)
-
exitAnnotationProperty
public void exitAnnotationProperty(Annotation.Property obj)
- Overrides:
exitAnnotationProperty
in classBCVisitor
-
enterInstruction
public void enterInstruction(Instruction obj)
- Overrides:
enterInstruction
in classBCVisitor
-
exitInstruction
public void exitInstruction(Instruction obj)
- Overrides:
exitInstruction
in classBCVisitor
-
enterClassInstruction
public void enterClassInstruction(ClassInstruction obj)
- Overrides:
enterClassInstruction
in classBCVisitor
-
enterConstantInstruction
public void enterConstantInstruction(ConstantInstruction obj)
- Overrides:
enterConstantInstruction
in classBCVisitor
-
enterGetFieldInstruction
public void enterGetFieldInstruction(GetFieldInstruction obj)
- Overrides:
enterGetFieldInstruction
in classBCVisitor
-
enterIIncInstruction
public void enterIIncInstruction(IIncInstruction obj)
- Overrides:
enterIIncInstruction
in classBCVisitor
-
enterJumpInstruction
public void enterJumpInstruction(JumpInstruction obj)
- Overrides:
enterJumpInstruction
in classBCVisitor
-
enterIfInstruction
public void enterIfInstruction(IfInstruction obj)
- Overrides:
enterIfInstruction
in classBCVisitor
-
enterLoadInstruction
public void enterLoadInstruction(LoadInstruction obj)
- Overrides:
enterLoadInstruction
in classBCVisitor
-
enterLookupSwitchInstruction
public void enterLookupSwitchInstruction(LookupSwitchInstruction obj)
- Overrides:
enterLookupSwitchInstruction
in classBCVisitor
-
enterMethodInstruction
public void enterMethodInstruction(MethodInstruction obj)
- Overrides:
enterMethodInstruction
in classBCVisitor
-
enterMultiANewArrayInstruction
public void enterMultiANewArrayInstruction(MultiANewArrayInstruction obj)
- Overrides:
enterMultiANewArrayInstruction
in classBCVisitor
-
enterNewArrayInstruction
public void enterNewArrayInstruction(NewArrayInstruction obj)
- Overrides:
enterNewArrayInstruction
in classBCVisitor
-
enterPutFieldInstruction
public void enterPutFieldInstruction(PutFieldInstruction obj)
- Overrides:
enterPutFieldInstruction
in classBCVisitor
-
enterRetInstruction
public void enterRetInstruction(RetInstruction obj)
- Overrides:
enterRetInstruction
in classBCVisitor
-
enterStoreInstruction
public void enterStoreInstruction(StoreInstruction obj)
- Overrides:
enterStoreInstruction
in classBCVisitor
-
enterTableSwitchInstruction
public void enterTableSwitchInstruction(TableSwitchInstruction obj)
- Overrides:
enterTableSwitchInstruction
in classBCVisitor
-
enterWideInstruction
public void enterWideInstruction(WideInstruction obj)
- Overrides:
enterWideInstruction
in classBCVisitor
-
enterConstantPool
public void enterConstantPool(ConstantPool obj)
- Overrides:
enterConstantPool
in classBCVisitor
-
exitConstantPool
public void exitConstantPool(ConstantPool obj)
- Overrides:
exitConstantPool
in classBCVisitor
-
enterEntry
public void enterEntry(Entry obj)
- Overrides:
enterEntry
in classBCVisitor
-
enterClassEntry
public void enterClassEntry(ClassEntry obj)
- Overrides:
enterClassEntry
in classBCVisitor
-
enterDoubleEntry
public void enterDoubleEntry(DoubleEntry obj)
- Overrides:
enterDoubleEntry
in classBCVisitor
-
enterFieldEntry
public void enterFieldEntry(FieldEntry obj)
- Overrides:
enterFieldEntry
in classBCVisitor
-
enterFloatEntry
public void enterFloatEntry(FloatEntry obj)
- Overrides:
enterFloatEntry
in classBCVisitor
-
enterIntEntry
public void enterIntEntry(IntEntry obj)
- Overrides:
enterIntEntry
in classBCVisitor
-
enterInterfaceMethodEntry
public void enterInterfaceMethodEntry(InterfaceMethodEntry obj)
- Overrides:
enterInterfaceMethodEntry
in classBCVisitor
-
enterLongEntry
public void enterLongEntry(LongEntry obj)
- Overrides:
enterLongEntry
in classBCVisitor
-
enterMethodEntry
public void enterMethodEntry(MethodEntry obj)
- Overrides:
enterMethodEntry
in classBCVisitor
-
enterNameAndTypeEntry
public void enterNameAndTypeEntry(NameAndTypeEntry obj)
- Overrides:
enterNameAndTypeEntry
in classBCVisitor
-
enterStringEntry
public void enterStringEntry(StringEntry obj)
- Overrides:
enterStringEntry
in classBCVisitor
-
enterUTF8Entry
public void enterUTF8Entry(UTF8Entry obj)
- Overrides:
enterUTF8Entry
in classBCVisitor
-
println
private void println(java.lang.String ln)
-
openBlock
private void openBlock(java.lang.String name)
-
closeBlock
private void closeBlock()
-
-