Package org.apache.bcel.classfile
Class DescendingVisitor
- java.lang.Object
-
- org.apache.bcel.classfile.DescendingVisitor
-
- All Implemented Interfaces:
Visitor
public class DescendingVisitor extends java.lang.Object implements Visitor
Traverses a JavaClass with another Visitor object 'piggy-backed' that is applied to all components of a JavaClass object. I.e. this class supplies the traversal strategy, other classes can make use of it.
-
-
Constructor Summary
Constructors Constructor Description DescendingVisitor(JavaClass clazz, Visitor visitor)Constructs a DescendingVisitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private <E extends Node>
voidaccept(E[] node)java.lang.Objectcurrent()Gets the current object.java.lang.Objectpredecessor()Gets the container of current entity, that is, predecessor during traversal.java.lang.Objectpredecessor(int level)Gets the container of current entity, that is, predecessor during traversal.voidvisit()Start traversal.voidvisitAnnotation(Annotations annotation)Visits an Annotations attribute.voidvisitAnnotationDefault(AnnotationDefault obj)Visits an AnnotationDefault attribute.voidvisitAnnotationEntry(AnnotationEntry annotationEntry)Visits an AnnotationEntry.voidvisitBootstrapMethods(BootstrapMethods bm)Visits a BootstrapMethods attribute.voidvisitCode(Code code)Visits a Code attribute.voidvisitCodeException(CodeException ce)Visits a CodeException.voidvisitConstantClass(ConstantClass constant)Visits a ConstantClass.voidvisitConstantDouble(ConstantDouble constant)Visits a ConstantDouble.voidvisitConstantDynamic(ConstantDynamic obj)Visits a ConstantDynamic.voidvisitConstantFieldref(ConstantFieldref constant)Visits a ConstantFieldref.voidvisitConstantFloat(ConstantFloat constant)Visits a ConstantFloat.voidvisitConstantInteger(ConstantInteger constant)Visits a ConstantInteger.voidvisitConstantInterfaceMethodref(ConstantInterfaceMethodref constant)Visits a ConstantInterfaceMethodref.voidvisitConstantInvokeDynamic(ConstantInvokeDynamic constant)Visits a ConstantInvokeDynamic.voidvisitConstantLong(ConstantLong constant)Visits a ConstantLong.voidvisitConstantMethodHandle(ConstantMethodHandle obj)Visits a ConstantMethodHandle.voidvisitConstantMethodref(ConstantMethodref constant)Visits a ConstantMethodref.voidvisitConstantMethodType(ConstantMethodType obj)Visits a ConstantMethodType.voidvisitConstantModule(ConstantModule obj)Visits a ConstantModule.voidvisitConstantNameAndType(ConstantNameAndType constant)Visits a ConstantNameAndType.voidvisitConstantPackage(ConstantPackage obj)Visits a ConstantPackage.voidvisitConstantPool(ConstantPool cp)Visits a ConstantPool.voidvisitConstantString(ConstantString constant)Visits a ConstantString.voidvisitConstantUtf8(ConstantUtf8 constant)Visits a ConstantUtf8.voidvisitConstantValue(ConstantValue cv)Visits a ConstantValue attribute.voidvisitDeprecated(Deprecated attribute)Visits a Deprecated attribute.voidvisitEnclosingMethod(EnclosingMethod obj)Visits an EnclosingMethod attribute.voidvisitExceptionTable(ExceptionTable table)Visits an ExceptionTable attribute.voidvisitField(Field field)Visits a Field.voidvisitInnerClass(InnerClass inner)Visits an InnerClass.voidvisitInnerClasses(InnerClasses ic)Visits an InnerClasses attribute.voidvisitJavaClass(JavaClass clazz)Visits a JavaClass.voidvisitLineNumber(LineNumber number)Visits a LineNumber.voidvisitLineNumberTable(LineNumberTable table)Visits a LineNumberTable attribute.voidvisitLocalVariable(LocalVariable var)Visits a LocalVariable.voidvisitLocalVariableTable(LocalVariableTable table)Visits a LocalVariableTable attribute.voidvisitLocalVariableTypeTable(LocalVariableTypeTable obj)Visits a LocalVariableTypeTable attribute.voidvisitMethod(Method method)Visits a Method.voidvisitMethodParameter(MethodParameter obj)Visits a MethodParameter.voidvisitMethodParameters(MethodParameters obj)Visits a MethodParameters attribute.voidvisitModule(Module obj)Visits a Module attribute.voidvisitModuleExports(ModuleExports obj)Visits a ModuleExports entry.voidvisitModuleMainClass(ModuleMainClass obj)Visits a ModuleMainClass attribute.voidvisitModuleOpens(ModuleOpens obj)Visits a ModuleOpens entry.voidvisitModulePackages(ModulePackages obj)Visits a ModulePackages attribute.voidvisitModuleProvides(ModuleProvides obj)Visits a ModuleProvides entry.voidvisitModuleRequires(ModuleRequires obj)Visits a ModuleRequires entry.voidvisitNestHost(NestHost obj)Visits a NestHost attribute.voidvisitNestMembers(NestMembers obj)Visits a NestMembers attribute.voidvisitParameterAnnotation(ParameterAnnotations obj)Visits a ParameterAnnotations attribute.voidvisitParameterAnnotationEntry(ParameterAnnotationEntry obj)Visits a ParameterAnnotationEntry.voidvisitRecord(Record record)Visits aRecordobject.voidvisitRecordComponent(RecordComponentInfo recordComponentInfo)Visits aRecordComponentInfoobject.voidvisitSignature(Signature attribute)Visits a Signature attribute.voidvisitSourceFile(SourceFile attribute)Visits a SourceFile attribute.voidvisitStackMap(StackMap table)Visits a StackMap attribute.voidvisitStackMapEntry(StackMapEntry var)Visits a StackMapEntry.voidvisitStackMapType(StackMapType var)Visits aStackMapTypeobject.voidvisitSynthetic(Synthetic attribute)Visits a Synthetic attribute.voidvisitUnknown(Unknown attribute)Visits an Unknown attribute.
-
-
-
Method Detail
-
accept
private <E extends Node> void accept(E[] node)
-
current
public java.lang.Object current()
Gets the current object.- Returns:
- current object.
-
predecessor
public java.lang.Object predecessor()
Gets the container of current entity, that is, predecessor during traversal.- Returns:
- container of current entity, that is, predecessor during traversal.
-
predecessor
public java.lang.Object predecessor(int level)
Gets the container of current entity, that is, predecessor during traversal.- Parameters:
level- nesting level, that is, 0 returns the direct predecessor.- Returns:
- container of current entity, that is, predecessor during traversal.
-
visit
public void visit()
Start traversal.
-
visitAnnotation
public void visitAnnotation(Annotations annotation)
Description copied from interface:VisitorVisits an Annotations attribute.- Specified by:
visitAnnotationin interfaceVisitor- Parameters:
annotation- the attribute.- Since:
- 6.0
-
visitAnnotationDefault
public void visitAnnotationDefault(AnnotationDefault obj)
Description copied from interface:VisitorVisits an AnnotationDefault attribute.- Specified by:
visitAnnotationDefaultin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.0
-
visitAnnotationEntry
public void visitAnnotationEntry(AnnotationEntry annotationEntry)
Description copied from interface:VisitorVisits an AnnotationEntry.- Specified by:
visitAnnotationEntryin interfaceVisitor- Parameters:
annotationEntry- the annotation entry.- Since:
- 6.0
-
visitBootstrapMethods
public void visitBootstrapMethods(BootstrapMethods bm)
Description copied from interface:VisitorVisits a BootstrapMethods attribute.- Specified by:
visitBootstrapMethodsin interfaceVisitor- Parameters:
bm- the attribute.- Since:
- 6.0
-
visitCode
public void visitCode(Code code)
Description copied from interface:VisitorVisits a Code attribute.
-
visitCodeException
public void visitCodeException(CodeException ce)
Description copied from interface:VisitorVisits a CodeException.- Specified by:
visitCodeExceptionin interfaceVisitor- Parameters:
ce- the exception.
-
visitConstantClass
public void visitConstantClass(ConstantClass constant)
Description copied from interface:VisitorVisits a ConstantClass.- Specified by:
visitConstantClassin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantDouble
public void visitConstantDouble(ConstantDouble constant)
Description copied from interface:VisitorVisits a ConstantDouble.- Specified by:
visitConstantDoublein interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantDynamic
public void visitConstantDynamic(ConstantDynamic obj)
Description copied from interface:VisitorVisits a ConstantDynamic.- Specified by:
visitConstantDynamicin interfaceVisitor- Parameters:
obj- the constant.- Since:
- 6.3
-
visitConstantFieldref
public void visitConstantFieldref(ConstantFieldref constant)
Description copied from interface:VisitorVisits a ConstantFieldref.- Specified by:
visitConstantFieldrefin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantFloat
public void visitConstantFloat(ConstantFloat constant)
Description copied from interface:VisitorVisits a ConstantFloat.- Specified by:
visitConstantFloatin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantInteger
public void visitConstantInteger(ConstantInteger constant)
Description copied from interface:VisitorVisits a ConstantInteger.- Specified by:
visitConstantIntegerin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantInterfaceMethodref
public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref constant)
Description copied from interface:VisitorVisits a ConstantInterfaceMethodref.- Specified by:
visitConstantInterfaceMethodrefin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantInvokeDynamic
public void visitConstantInvokeDynamic(ConstantInvokeDynamic constant)
Description copied from interface:VisitorVisits a ConstantInvokeDynamic.- Specified by:
visitConstantInvokeDynamicin interfaceVisitor- Parameters:
constant- the constant.- Since:
- 6.0
-
visitConstantLong
public void visitConstantLong(ConstantLong constant)
Description copied from interface:VisitorVisits a ConstantLong.- Specified by:
visitConstantLongin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantMethodHandle
public void visitConstantMethodHandle(ConstantMethodHandle obj)
Description copied from interface:VisitorVisits a ConstantMethodHandle.- Specified by:
visitConstantMethodHandlein interfaceVisitor- Parameters:
obj- the constant.- Since:
- 6.0
-
visitConstantMethodref
public void visitConstantMethodref(ConstantMethodref constant)
Description copied from interface:VisitorVisits a ConstantMethodref.- Specified by:
visitConstantMethodrefin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantMethodType
public void visitConstantMethodType(ConstantMethodType obj)
Description copied from interface:VisitorVisits a ConstantMethodType.- Specified by:
visitConstantMethodTypein interfaceVisitor- Parameters:
obj- the constant.- Since:
- 6.0
-
visitConstantModule
public void visitConstantModule(ConstantModule obj)
Description copied from interface:VisitorVisits a ConstantModule.- Specified by:
visitConstantModulein interfaceVisitor- Parameters:
obj- the constant.- Since:
- 6.1
-
visitConstantNameAndType
public void visitConstantNameAndType(ConstantNameAndType constant)
Description copied from interface:VisitorVisits a ConstantNameAndType.- Specified by:
visitConstantNameAndTypein interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantPackage
public void visitConstantPackage(ConstantPackage obj)
Description copied from interface:VisitorVisits a ConstantPackage.- Specified by:
visitConstantPackagein interfaceVisitor- Parameters:
obj- the constant.- Since:
- 6.1
-
visitConstantPool
public void visitConstantPool(ConstantPool cp)
Description copied from interface:VisitorVisits a ConstantPool.- Specified by:
visitConstantPoolin interfaceVisitor- Parameters:
cp- the constant pool.
-
visitConstantString
public void visitConstantString(ConstantString constant)
Description copied from interface:VisitorVisits a ConstantString.- Specified by:
visitConstantStringin interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantUtf8
public void visitConstantUtf8(ConstantUtf8 constant)
Description copied from interface:VisitorVisits a ConstantUtf8.- Specified by:
visitConstantUtf8in interfaceVisitor- Parameters:
constant- the constant.
-
visitConstantValue
public void visitConstantValue(ConstantValue cv)
Description copied from interface:VisitorVisits a ConstantValue attribute.- Specified by:
visitConstantValuein interfaceVisitor- Parameters:
cv- the attribute.
-
visitDeprecated
public void visitDeprecated(Deprecated attribute)
Description copied from interface:VisitorVisits a Deprecated attribute.- Specified by:
visitDeprecatedin interfaceVisitor- Parameters:
attribute- the attribute.
-
visitEnclosingMethod
public void visitEnclosingMethod(EnclosingMethod obj)
Description copied from interface:VisitorVisits an EnclosingMethod attribute.- Specified by:
visitEnclosingMethodin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.0
-
visitExceptionTable
public void visitExceptionTable(ExceptionTable table)
Description copied from interface:VisitorVisits an ExceptionTable attribute.- Specified by:
visitExceptionTablein interfaceVisitor- Parameters:
table- the attribute.
-
visitField
public void visitField(Field field)
Description copied from interface:VisitorVisits a Field.- Specified by:
visitFieldin interfaceVisitor- Parameters:
field- the field.
-
visitInnerClass
public void visitInnerClass(InnerClass inner)
Description copied from interface:VisitorVisits an InnerClass.- Specified by:
visitInnerClassin interfaceVisitor- Parameters:
inner- the inner class.
-
visitInnerClasses
public void visitInnerClasses(InnerClasses ic)
Description copied from interface:VisitorVisits an InnerClasses attribute.- Specified by:
visitInnerClassesin interfaceVisitor- Parameters:
ic- the attribute.
-
visitJavaClass
public void visitJavaClass(JavaClass clazz)
Description copied from interface:VisitorVisits a JavaClass.- Specified by:
visitJavaClassin interfaceVisitor- Parameters:
clazz- the class.
-
visitLineNumber
public void visitLineNumber(LineNumber number)
Description copied from interface:VisitorVisits a LineNumber.- Specified by:
visitLineNumberin interfaceVisitor- Parameters:
number- the line number.
-
visitLineNumberTable
public void visitLineNumberTable(LineNumberTable table)
Description copied from interface:VisitorVisits a LineNumberTable attribute.- Specified by:
visitLineNumberTablein interfaceVisitor- Parameters:
table- the attribute.
-
visitLocalVariable
public void visitLocalVariable(LocalVariable var)
Description copied from interface:VisitorVisits a LocalVariable.- Specified by:
visitLocalVariablein interfaceVisitor- Parameters:
var- the local variable.
-
visitLocalVariableTable
public void visitLocalVariableTable(LocalVariableTable table)
Description copied from interface:VisitorVisits a LocalVariableTable attribute.- Specified by:
visitLocalVariableTablein interfaceVisitor- Parameters:
table- the attribute.
-
visitLocalVariableTypeTable
public void visitLocalVariableTypeTable(LocalVariableTypeTable obj)
Description copied from interface:VisitorVisits a LocalVariableTypeTable attribute.- Specified by:
visitLocalVariableTypeTablein interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.0
-
visitMethod
public void visitMethod(Method method)
Description copied from interface:VisitorVisits a Method.- Specified by:
visitMethodin interfaceVisitor- Parameters:
method- the method.
-
visitMethodParameter
public void visitMethodParameter(MethodParameter obj)
Description copied from interface:VisitorVisits a MethodParameter.- Specified by:
visitMethodParameterin interfaceVisitor- Parameters:
obj- the method parameter.- Since:
- 6.4.0
-
visitMethodParameters
public void visitMethodParameters(MethodParameters obj)
Description copied from interface:VisitorVisits a MethodParameters attribute.- Specified by:
visitMethodParametersin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.0
-
visitModule
public void visitModule(Module obj)
Description copied from interface:VisitorVisits a Module attribute.- Specified by:
visitModulein interfaceVisitor- Parameters:
obj- the module.- Since:
- 6.4.0
-
visitModuleExports
public void visitModuleExports(ModuleExports obj)
Description copied from interface:VisitorVisits a ModuleExports entry.- Specified by:
visitModuleExportsin interfaceVisitor- Parameters:
obj- the module exports.- Since:
- 6.4.0
-
visitModuleMainClass
public void visitModuleMainClass(ModuleMainClass obj)
Description copied from interface:VisitorVisits a ModuleMainClass attribute.- Specified by:
visitModuleMainClassin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.4.0
-
visitModuleOpens
public void visitModuleOpens(ModuleOpens obj)
Description copied from interface:VisitorVisits a ModuleOpens entry.- Specified by:
visitModuleOpensin interfaceVisitor- Parameters:
obj- the module opens.- Since:
- 6.4.0
-
visitModulePackages
public void visitModulePackages(ModulePackages obj)
Description copied from interface:VisitorVisits a ModulePackages attribute.- Specified by:
visitModulePackagesin interfaceVisitor- Parameters:
obj- the module packages.- Since:
- 6.4.0
-
visitModuleProvides
public void visitModuleProvides(ModuleProvides obj)
Description copied from interface:VisitorVisits a ModuleProvides entry.- Specified by:
visitModuleProvidesin interfaceVisitor- Parameters:
obj- the module provides.- Since:
- 6.4.0
-
visitModuleRequires
public void visitModuleRequires(ModuleRequires obj)
Description copied from interface:VisitorVisits a ModuleRequires entry.- Specified by:
visitModuleRequiresin interfaceVisitor- Parameters:
obj- the module requires.- Since:
- 6.4.0
-
visitNestHost
public void visitNestHost(NestHost obj)
Description copied from interface:VisitorVisits a NestHost attribute.- Specified by:
visitNestHostin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.4.0
-
visitNestMembers
public void visitNestMembers(NestMembers obj)
Description copied from interface:VisitorVisits a NestMembers attribute.- Specified by:
visitNestMembersin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.4.0
-
visitParameterAnnotation
public void visitParameterAnnotation(ParameterAnnotations obj)
Description copied from interface:VisitorVisits a ParameterAnnotations attribute.- Specified by:
visitParameterAnnotationin interfaceVisitor- Parameters:
obj- the attribute.- Since:
- 6.0
-
visitParameterAnnotationEntry
public void visitParameterAnnotationEntry(ParameterAnnotationEntry obj)
Description copied from interface:VisitorVisits a ParameterAnnotationEntry.- Specified by:
visitParameterAnnotationEntryin interfaceVisitor- Parameters:
obj- the annotation entry.- Since:
- 6.0
-
visitRecord
public void visitRecord(Record record)
Description copied from interface:VisitorVisits aRecordobject.- Specified by:
visitRecordin interfaceVisitor- Parameters:
record- Record to visit.
-
visitRecordComponent
public void visitRecordComponent(RecordComponentInfo recordComponentInfo)
Description copied from interface:VisitorVisits aRecordComponentInfoobject.- Specified by:
visitRecordComponentin interfaceVisitor- Parameters:
recordComponentInfo- component to visit.
-
visitSignature
public void visitSignature(Signature attribute)
Description copied from interface:VisitorVisits a Signature attribute.- Specified by:
visitSignaturein interfaceVisitor- Parameters:
attribute- the attribute.
-
visitSourceFile
public void visitSourceFile(SourceFile attribute)
Description copied from interface:VisitorVisits a SourceFile attribute.- Specified by:
visitSourceFilein interfaceVisitor- Parameters:
attribute- the attribute.
-
visitStackMap
public void visitStackMap(StackMap table)
Description copied from interface:VisitorVisits a StackMap attribute.- Specified by:
visitStackMapin interfaceVisitor- Parameters:
table- the attribute.
-
visitStackMapEntry
public void visitStackMapEntry(StackMapEntry var)
Description copied from interface:VisitorVisits a StackMapEntry.- Specified by:
visitStackMapEntryin interfaceVisitor- Parameters:
var- the entry.
-
visitStackMapType
public void visitStackMapType(StackMapType var)
Visits aStackMapTypeobject.- Specified by:
visitStackMapTypein interfaceVisitor- Parameters:
var- object to visit.- Since:
- 6.8.0
-
visitSynthetic
public void visitSynthetic(Synthetic attribute)
Description copied from interface:VisitorVisits a Synthetic attribute.- Specified by:
visitSyntheticin interfaceVisitor- Parameters:
attribute- the attribute.
-
visitUnknown
public void visitUnknown(Unknown attribute)
Description copied from interface:VisitorVisits an Unknown attribute.- Specified by:
visitUnknownin interfaceVisitor- Parameters:
attribute- the attribute.
-
-