java.lang.Object
com.techtrader.modules.tools.bytecode.visitor.BCVisitor
- Direct Known Subclasses:
- PrettyPrintVisitor
- public class BCVisitor
- extends java.lang.Object
Base class for visitors on a bytecode class. The public visit
method will traverse the object graph of the given entity, calling the
enter* and exit* methods as it visits each object. The traversal
is done depth-first. Subclasses should override only the methods
for visiting the entities they are interested in. Whenever there is
a general method (i.e. enter/exitEntry) as well as a more specific one
(i.e. enter/exitStringEntry), the more general method will be called first,
followed by a call on the correct specific method. Most subclasses will
override either the general or specific cases, but not both.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BCVisitor
public BCVisitor()
visit
public void visit(VisitAcceptor obj)
- Visit the given entity.
enterBCClass
public void enterBCClass(com.techtrader.modules.tools.bytecode.BCClass obj)
exitBCClass
public void exitBCClass(com.techtrader.modules.tools.bytecode.BCClass obj)
enterBCField
public void enterBCField(com.techtrader.modules.tools.bytecode.BCField obj)
exitBCField
public void exitBCField(com.techtrader.modules.tools.bytecode.BCField obj)
enterBCMethod
public void enterBCMethod(com.techtrader.modules.tools.bytecode.BCMethod obj)
exitBCMethod
public void exitBCMethod(com.techtrader.modules.tools.bytecode.BCMethod obj)
enterAttribute
public void enterAttribute(com.techtrader.modules.tools.bytecode.Attribute obj)
exitAttribute
public void exitAttribute(com.techtrader.modules.tools.bytecode.Attribute obj)
enterConstantValueAttribute
public void enterConstantValueAttribute(com.techtrader.modules.tools.bytecode.ConstantValueAttribute obj)
exitConstantValueAttribute
public void exitConstantValueAttribute(com.techtrader.modules.tools.bytecode.ConstantValueAttribute obj)
enterDeprecatedAttribute
public void enterDeprecatedAttribute(com.techtrader.modules.tools.bytecode.DeprecatedAttribute obj)
exitDeprecatedAttribute
public void exitDeprecatedAttribute(com.techtrader.modules.tools.bytecode.DeprecatedAttribute obj)
enterExceptionsAttribute
public void enterExceptionsAttribute(com.techtrader.modules.tools.bytecode.ExceptionsAttribute obj)
exitExceptionsAttribute
public void exitExceptionsAttribute(com.techtrader.modules.tools.bytecode.ExceptionsAttribute obj)
enterInnerClassesAttribute
public void enterInnerClassesAttribute(com.techtrader.modules.tools.bytecode.InnerClassesAttribute obj)
exitInnerClassesAttribute
public void exitInnerClassesAttribute(com.techtrader.modules.tools.bytecode.InnerClassesAttribute obj)
enterLineNumberTableAttribute
public void enterLineNumberTableAttribute(com.techtrader.modules.tools.bytecode.LineNumberTableAttribute obj)
exitLineNumberTableAttribute
public void exitLineNumberTableAttribute(com.techtrader.modules.tools.bytecode.LineNumberTableAttribute obj)
enterLocalVariableTableAttribute
public void enterLocalVariableTableAttribute(com.techtrader.modules.tools.bytecode.LocalVariableTableAttribute obj)
exitLocalVariableTableAttribute
public void exitLocalVariableTableAttribute(com.techtrader.modules.tools.bytecode.LocalVariableTableAttribute obj)
enterSourceFileAttribute
public void enterSourceFileAttribute(com.techtrader.modules.tools.bytecode.SourceFileAttribute obj)
exitSourceFileAttribute
public void exitSourceFileAttribute(com.techtrader.modules.tools.bytecode.SourceFileAttribute obj)
enterSyntheticAttribute
public void enterSyntheticAttribute(com.techtrader.modules.tools.bytecode.SyntheticAttribute obj)
exitSyntheticAttribute
public void exitSyntheticAttribute(com.techtrader.modules.tools.bytecode.SyntheticAttribute obj)
enterUnknownAttribute
public void enterUnknownAttribute(com.techtrader.modules.tools.bytecode.UnknownAttribute obj)
exitUnknownAttribute
public void exitUnknownAttribute(com.techtrader.modules.tools.bytecode.UnknownAttribute obj)
enterCode
public void enterCode(com.techtrader.modules.tools.bytecode.Code obj)
exitCode
public void exitCode(com.techtrader.modules.tools.bytecode.Code obj)
enterExceptionHandler
public void enterExceptionHandler(com.techtrader.modules.tools.bytecode.ExceptionHandler obj)
exitExceptionHandler
public void exitExceptionHandler(com.techtrader.modules.tools.bytecode.ExceptionHandler obj)
enterInnerClass
public void enterInnerClass(com.techtrader.modules.tools.bytecode.InnerClass obj)
exitInnerClass
public void exitInnerClass(com.techtrader.modules.tools.bytecode.InnerClass obj)
enterLineNumber
public void enterLineNumber(com.techtrader.modules.tools.bytecode.LineNumber obj)
exitLineNumber
public void exitLineNumber(com.techtrader.modules.tools.bytecode.LineNumber obj)
enterLocalVariable
public void enterLocalVariable(com.techtrader.modules.tools.bytecode.LocalVariable obj)
exitLocalVariable
public void exitLocalVariable(com.techtrader.modules.tools.bytecode.LocalVariable obj)
enterInstruction
public void enterInstruction(com.techtrader.modules.tools.bytecode.Instruction obj)
exitInstruction
public void exitInstruction(com.techtrader.modules.tools.bytecode.Instruction obj)
enterArrayLoadInstruction
public void enterArrayLoadInstruction(com.techtrader.modules.tools.bytecode.ArrayLoadInstruction obj)
exitArrayLoadInstruction
public void exitArrayLoadInstruction(com.techtrader.modules.tools.bytecode.ArrayLoadInstruction obj)
enterArrayStoreInstruction
public void enterArrayStoreInstruction(com.techtrader.modules.tools.bytecode.ArrayStoreInstruction obj)
exitArrayStoreInstruction
public void exitArrayStoreInstruction(com.techtrader.modules.tools.bytecode.ArrayStoreInstruction obj)
enterClassInstruction
public void enterClassInstruction(com.techtrader.modules.tools.bytecode.ClassInstruction obj)
exitClassInstruction
public void exitClassInstruction(com.techtrader.modules.tools.bytecode.ClassInstruction obj)
enterConstantInstruction
public void enterConstantInstruction(com.techtrader.modules.tools.bytecode.ConstantInstruction obj)
exitConstantInstruction
public void exitConstantInstruction(com.techtrader.modules.tools.bytecode.ConstantInstruction obj)
enterConvertInstruction
public void enterConvertInstruction(com.techtrader.modules.tools.bytecode.ConvertInstruction obj)
exitConvertInstruction
public void exitConvertInstruction(com.techtrader.modules.tools.bytecode.ConvertInstruction obj)
enterGetFieldInstruction
public void enterGetFieldInstruction(com.techtrader.modules.tools.bytecode.GetFieldInstruction obj)
exitGetFieldInstruction
public void exitGetFieldInstruction(com.techtrader.modules.tools.bytecode.GetFieldInstruction obj)
enterIIncInstruction
public void enterIIncInstruction(com.techtrader.modules.tools.bytecode.IIncInstruction obj)
exitIIncInstruction
public void exitIIncInstruction(com.techtrader.modules.tools.bytecode.IIncInstruction obj)
enterJumpInstruction
public void enterJumpInstruction(com.techtrader.modules.tools.bytecode.JumpInstruction obj)
exitJumpInstruction
public void exitJumpInstruction(com.techtrader.modules.tools.bytecode.JumpInstruction obj)
enterLoadInstruction
public void enterLoadInstruction(com.techtrader.modules.tools.bytecode.LoadInstruction obj)
exitLoadInstruction
public void exitLoadInstruction(com.techtrader.modules.tools.bytecode.LoadInstruction obj)
enterLookupSwitchInstruction
public void enterLookupSwitchInstruction(com.techtrader.modules.tools.bytecode.LookupSwitchInstruction obj)
exitLookupSwitchInstruction
public void exitLookupSwitchInstruction(com.techtrader.modules.tools.bytecode.LookupSwitchInstruction obj)
enterMathInstruction
public void enterMathInstruction(com.techtrader.modules.tools.bytecode.MathInstruction obj)
exitMathInstruction
public void exitMathInstruction(com.techtrader.modules.tools.bytecode.MathInstruction obj)
enterMethodInstruction
public void enterMethodInstruction(com.techtrader.modules.tools.bytecode.MethodInstruction obj)
exitMethodInstruction
public void exitMethodInstruction(com.techtrader.modules.tools.bytecode.MethodInstruction obj)
enterMultiANewArrayInstruction
public void enterMultiANewArrayInstruction(com.techtrader.modules.tools.bytecode.MultiANewArrayInstruction obj)
exitMultiANewArrayInstruction
public void exitMultiANewArrayInstruction(com.techtrader.modules.tools.bytecode.MultiANewArrayInstruction obj)
enterNewArrayInstruction
public void enterNewArrayInstruction(com.techtrader.modules.tools.bytecode.NewArrayInstruction obj)
exitNewArrayInstruction
public void exitNewArrayInstruction(com.techtrader.modules.tools.bytecode.NewArrayInstruction obj)
enterPutFieldInstruction
public void enterPutFieldInstruction(com.techtrader.modules.tools.bytecode.PutFieldInstruction obj)
exitPutFieldInstruction
public void exitPutFieldInstruction(com.techtrader.modules.tools.bytecode.PutFieldInstruction obj)
enterRetInstruction
public void enterRetInstruction(com.techtrader.modules.tools.bytecode.RetInstruction obj)
exitRetInstruction
public void exitRetInstruction(com.techtrader.modules.tools.bytecode.RetInstruction obj)
enterReturnInstruction
public void enterReturnInstruction(com.techtrader.modules.tools.bytecode.ReturnInstruction obj)
exitReturnInstruction
public void exitReturnInstruction(com.techtrader.modules.tools.bytecode.ReturnInstruction obj)
enterStackInstruction
public void enterStackInstruction(com.techtrader.modules.tools.bytecode.StackInstruction obj)
exitStackInstruction
public void exitStackInstruction(com.techtrader.modules.tools.bytecode.StackInstruction obj)
enterStoreInstruction
public void enterStoreInstruction(com.techtrader.modules.tools.bytecode.StoreInstruction obj)
exitStoreInstruction
public void exitStoreInstruction(com.techtrader.modules.tools.bytecode.StoreInstruction obj)
enterTableSwitchInstruction
public void enterTableSwitchInstruction(com.techtrader.modules.tools.bytecode.TableSwitchInstruction obj)
exitTableSwitchInstruction
public void exitTableSwitchInstruction(com.techtrader.modules.tools.bytecode.TableSwitchInstruction obj)
enterWideInstruction
public void enterWideInstruction(com.techtrader.modules.tools.bytecode.WideInstruction obj)
exitWideInstruction
public void exitWideInstruction(com.techtrader.modules.tools.bytecode.WideInstruction obj)
enterMonitorEnterInstruction
public void enterMonitorEnterInstruction(com.techtrader.modules.tools.bytecode.MonitorEnterInstruction obj)
exitMonitorEnterInstruction
public void exitMonitorEnterInstruction(com.techtrader.modules.tools.bytecode.MonitorEnterInstruction obj)
enterMonitorExitInstruction
public void enterMonitorExitInstruction(com.techtrader.modules.tools.bytecode.MonitorExitInstruction obj)
exitMonitorExitInstruction
public void exitMonitorExitInstruction(com.techtrader.modules.tools.bytecode.MonitorExitInstruction obj)
enterCmpInstruction
public void enterCmpInstruction(com.techtrader.modules.tools.bytecode.CmpInstruction obj)
exitCmpInstruction
public void exitCmpInstruction(com.techtrader.modules.tools.bytecode.CmpInstruction obj)
enterConstantPool
public void enterConstantPool(com.techtrader.modules.tools.bytecode.lowlevel.ConstantPool obj)
exitConstantPool
public void exitConstantPool(com.techtrader.modules.tools.bytecode.lowlevel.ConstantPool obj)
enterEntry
public void enterEntry(com.techtrader.modules.tools.bytecode.lowlevel.Entry obj)
exitEntry
public void exitEntry(com.techtrader.modules.tools.bytecode.lowlevel.Entry obj)
enterClassEntry
public void enterClassEntry(com.techtrader.modules.tools.bytecode.lowlevel.ClassEntry obj)
exitClassEntry
public void exitClassEntry(com.techtrader.modules.tools.bytecode.lowlevel.ClassEntry obj)
enterDoubleEntry
public void enterDoubleEntry(com.techtrader.modules.tools.bytecode.lowlevel.DoubleEntry obj)
exitDoubleEntry
public void exitDoubleEntry(com.techtrader.modules.tools.bytecode.lowlevel.DoubleEntry obj)
enterFieldEntry
public void enterFieldEntry(com.techtrader.modules.tools.bytecode.lowlevel.FieldEntry obj)
exitFieldEntry
public void exitFieldEntry(com.techtrader.modules.tools.bytecode.lowlevel.FieldEntry obj)
enterFloatEntry
public void enterFloatEntry(com.techtrader.modules.tools.bytecode.lowlevel.FloatEntry obj)
exitFloatEntry
public void exitFloatEntry(com.techtrader.modules.tools.bytecode.lowlevel.FloatEntry obj)
enterIntEntry
public void enterIntEntry(com.techtrader.modules.tools.bytecode.lowlevel.IntEntry obj)
exitIntEntry
public void exitIntEntry(com.techtrader.modules.tools.bytecode.lowlevel.IntEntry obj)
enterInterfaceMethodEntry
public void enterInterfaceMethodEntry(com.techtrader.modules.tools.bytecode.lowlevel.InterfaceMethodEntry obj)
exitInterfaceMethodEntry
public void exitInterfaceMethodEntry(com.techtrader.modules.tools.bytecode.lowlevel.InterfaceMethodEntry obj)
enterLongEntry
public void enterLongEntry(com.techtrader.modules.tools.bytecode.lowlevel.LongEntry obj)
exitLongEntry
public void exitLongEntry(com.techtrader.modules.tools.bytecode.lowlevel.LongEntry obj)
enterMethodEntry
public void enterMethodEntry(com.techtrader.modules.tools.bytecode.lowlevel.MethodEntry obj)
exitMethodEntry
public void exitMethodEntry(com.techtrader.modules.tools.bytecode.lowlevel.MethodEntry obj)
enterNameAndTypeEntry
public void enterNameAndTypeEntry(com.techtrader.modules.tools.bytecode.lowlevel.NameAndTypeEntry obj)
exitNameAndTypeEntry
public void exitNameAndTypeEntry(com.techtrader.modules.tools.bytecode.lowlevel.NameAndTypeEntry obj)
enterPlaceHolderEntry
public void enterPlaceHolderEntry(com.techtrader.modules.tools.bytecode.lowlevel.PlaceHolderEntry obj)
exitPlaceHolderEntry
public void exitPlaceHolderEntry(com.techtrader.modules.tools.bytecode.lowlevel.PlaceHolderEntry obj)
enterStringEntry
public void enterStringEntry(com.techtrader.modules.tools.bytecode.lowlevel.StringEntry obj)
exitStringEntry
public void exitStringEntry(com.techtrader.modules.tools.bytecode.lowlevel.StringEntry obj)
enterUTF8Entry
public void enterUTF8Entry(com.techtrader.modules.tools.bytecode.lowlevel.UTF8Entry obj)
exitUTF8Entry
public void exitUTF8Entry(com.techtrader.modules.tools.bytecode.lowlevel.UTF8Entry obj)