com.techtrader.modules.tools.bytecode.visitor
Class BCVisitor
java.lang.Object
|
+--com.techtrader.modules.tools.bytecode.visitor.BCVisitor
- Direct Known Subclasses:
- PrettyPrintVisitor
- public class BCVisitor
- extends 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.
- Author:
- Abe White
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(BCClass obj)
exitBCClass
public void exitBCClass(BCClass obj)
enterBCField
public void enterBCField(BCField obj)
exitBCField
public void exitBCField(BCField obj)
enterBCMethod
public void enterBCMethod(BCMethod obj)
exitBCMethod
public void exitBCMethod(BCMethod obj)
enterAttribute
public void enterAttribute(Attribute obj)
exitAttribute
public void exitAttribute(Attribute obj)
enterConstantValueAttribute
public void enterConstantValueAttribute(ConstantValueAttribute obj)
exitConstantValueAttribute
public void exitConstantValueAttribute(ConstantValueAttribute obj)
enterDeprecatedAttribute
public void enterDeprecatedAttribute(DeprecatedAttribute obj)
exitDeprecatedAttribute
public void exitDeprecatedAttribute(DeprecatedAttribute obj)
enterExceptionsAttribute
public void enterExceptionsAttribute(ExceptionsAttribute obj)
exitExceptionsAttribute
public void exitExceptionsAttribute(ExceptionsAttribute obj)
enterInnerClassesAttribute
public void enterInnerClassesAttribute(InnerClassesAttribute obj)
exitInnerClassesAttribute
public void exitInnerClassesAttribute(InnerClassesAttribute obj)
enterLineNumberTableAttribute
public void enterLineNumberTableAttribute(LineNumberTableAttribute obj)
exitLineNumberTableAttribute
public void exitLineNumberTableAttribute(LineNumberTableAttribute obj)
enterLocalVariableTableAttribute
public void enterLocalVariableTableAttribute(LocalVariableTableAttribute obj)
exitLocalVariableTableAttribute
public void exitLocalVariableTableAttribute(LocalVariableTableAttribute obj)
enterSourceFileAttribute
public void enterSourceFileAttribute(SourceFileAttribute obj)
exitSourceFileAttribute
public void exitSourceFileAttribute(SourceFileAttribute obj)
enterSyntheticAttribute
public void enterSyntheticAttribute(SyntheticAttribute obj)
exitSyntheticAttribute
public void exitSyntheticAttribute(SyntheticAttribute obj)
enterUnknownAttribute
public void enterUnknownAttribute(UnknownAttribute obj)
exitUnknownAttribute
public void exitUnknownAttribute(UnknownAttribute obj)
enterCode
public void enterCode(Code obj)
exitCode
public void exitCode(Code obj)
enterExceptionHandler
public void enterExceptionHandler(ExceptionHandler obj)
exitExceptionHandler
public void exitExceptionHandler(ExceptionHandler obj)
enterInnerClass
public void enterInnerClass(InnerClass obj)
exitInnerClass
public void exitInnerClass(InnerClass obj)
enterLineNumber
public void enterLineNumber(LineNumber obj)
exitLineNumber
public void exitLineNumber(LineNumber obj)
enterLocalVariable
public void enterLocalVariable(LocalVariable obj)
exitLocalVariable
public void exitLocalVariable(LocalVariable obj)
enterInstruction
public void enterInstruction(Instruction obj)
exitInstruction
public void exitInstruction(Instruction obj)
enterArrayLoadInstruction
public void enterArrayLoadInstruction(ArrayLoadInstruction obj)
exitArrayLoadInstruction
public void exitArrayLoadInstruction(ArrayLoadInstruction obj)
enterArrayStoreInstruction
public void enterArrayStoreInstruction(ArrayStoreInstruction obj)
exitArrayStoreInstruction
public void exitArrayStoreInstruction(ArrayStoreInstruction obj)
enterClassInstruction
public void enterClassInstruction(ClassInstruction obj)
exitClassInstruction
public void exitClassInstruction(ClassInstruction obj)
enterConstantInstruction
public void enterConstantInstruction(ConstantInstruction obj)
exitConstantInstruction
public void exitConstantInstruction(ConstantInstruction obj)
enterConvertInstruction
public void enterConvertInstruction(ConvertInstruction obj)
exitConvertInstruction
public void exitConvertInstruction(ConvertInstruction obj)
enterGetFieldInstruction
public void enterGetFieldInstruction(GetFieldInstruction obj)
exitGetFieldInstruction
public void exitGetFieldInstruction(GetFieldInstruction obj)
enterIIncInstruction
public void enterIIncInstruction(IIncInstruction obj)
exitIIncInstruction
public void exitIIncInstruction(IIncInstruction obj)
enterJumpInstruction
public void enterJumpInstruction(JumpInstruction obj)
exitJumpInstruction
public void exitJumpInstruction(JumpInstruction obj)
enterLoadInstruction
public void enterLoadInstruction(LoadInstruction obj)
exitLoadInstruction
public void exitLoadInstruction(LoadInstruction obj)
enterLookupSwitchInstruction
public void enterLookupSwitchInstruction(LookupSwitchInstruction obj)
exitLookupSwitchInstruction
public void exitLookupSwitchInstruction(LookupSwitchInstruction obj)
enterMathInstruction
public void enterMathInstruction(MathInstruction obj)
exitMathInstruction
public void exitMathInstruction(MathInstruction obj)
enterMethodInstruction
public void enterMethodInstruction(MethodInstruction obj)
exitMethodInstruction
public void exitMethodInstruction(MethodInstruction obj)
enterMultiANewArrayInstruction
public void enterMultiANewArrayInstruction(MultiANewArrayInstruction obj)
exitMultiANewArrayInstruction
public void exitMultiANewArrayInstruction(MultiANewArrayInstruction obj)
enterNewArrayInstruction
public void enterNewArrayInstruction(NewArrayInstruction obj)
exitNewArrayInstruction
public void exitNewArrayInstruction(NewArrayInstruction obj)
enterPutFieldInstruction
public void enterPutFieldInstruction(PutFieldInstruction obj)
exitPutFieldInstruction
public void exitPutFieldInstruction(PutFieldInstruction obj)
enterRetInstruction
public void enterRetInstruction(RetInstruction obj)
exitRetInstruction
public void exitRetInstruction(RetInstruction obj)
enterReturnInstruction
public void enterReturnInstruction(ReturnInstruction obj)
exitReturnInstruction
public void exitReturnInstruction(ReturnInstruction obj)
enterStackInstruction
public void enterStackInstruction(StackInstruction obj)
exitStackInstruction
public void exitStackInstruction(StackInstruction obj)
enterStoreInstruction
public void enterStoreInstruction(StoreInstruction obj)
exitStoreInstruction
public void exitStoreInstruction(StoreInstruction obj)
enterTableSwitchInstruction
public void enterTableSwitchInstruction(TableSwitchInstruction obj)
exitTableSwitchInstruction
public void exitTableSwitchInstruction(TableSwitchInstruction obj)
enterWideInstruction
public void enterWideInstruction(WideInstruction obj)
exitWideInstruction
public void exitWideInstruction(WideInstruction obj)
enterMonitorEnterInstruction
public void enterMonitorEnterInstruction(MonitorEnterInstruction obj)
exitMonitorEnterInstruction
public void exitMonitorEnterInstruction(MonitorEnterInstruction obj)
enterMonitorExitInstruction
public void enterMonitorExitInstruction(MonitorExitInstruction obj)
exitMonitorExitInstruction
public void exitMonitorExitInstruction(MonitorExitInstruction obj)
enterCmpInstruction
public void enterCmpInstruction(CmpInstruction obj)
exitCmpInstruction
public void exitCmpInstruction(CmpInstruction obj)
enterConstantPool
public void enterConstantPool(ConstantPool obj)
exitConstantPool
public void exitConstantPool(ConstantPool obj)
enterEntry
public void enterEntry(Entry obj)
exitEntry
public void exitEntry(Entry obj)
enterClassEntry
public void enterClassEntry(ClassEntry obj)
exitClassEntry
public void exitClassEntry(ClassEntry obj)
enterDoubleEntry
public void enterDoubleEntry(DoubleEntry obj)
exitDoubleEntry
public void exitDoubleEntry(DoubleEntry obj)
enterFieldEntry
public void enterFieldEntry(FieldEntry obj)
exitFieldEntry
public void exitFieldEntry(FieldEntry obj)
enterFloatEntry
public void enterFloatEntry(FloatEntry obj)
exitFloatEntry
public void exitFloatEntry(FloatEntry obj)
enterIntEntry
public void enterIntEntry(IntEntry obj)
exitIntEntry
public void exitIntEntry(IntEntry obj)
enterInterfaceMethodEntry
public void enterInterfaceMethodEntry(InterfaceMethodEntry obj)
exitInterfaceMethodEntry
public void exitInterfaceMethodEntry(InterfaceMethodEntry obj)
enterLongEntry
public void enterLongEntry(LongEntry obj)
exitLongEntry
public void exitLongEntry(LongEntry obj)
enterMethodEntry
public void enterMethodEntry(MethodEntry obj)
exitMethodEntry
public void exitMethodEntry(MethodEntry obj)
enterNameAndTypeEntry
public void enterNameAndTypeEntry(NameAndTypeEntry obj)
exitNameAndTypeEntry
public void exitNameAndTypeEntry(NameAndTypeEntry obj)
enterPlaceHolderEntry
public void enterPlaceHolderEntry(PlaceHolderEntry obj)
exitPlaceHolderEntry
public void exitPlaceHolderEntry(PlaceHolderEntry obj)
enterStringEntry
public void enterStringEntry(StringEntry obj)
exitStringEntry
public void exitStringEntry(StringEntry obj)
enterUTF8Entry
public void enterUTF8Entry(UTF8Entry obj)
exitUTF8Entry
public void exitUTF8Entry(UTF8Entry obj)