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 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.voidvisitPermittedSubclasses(PermittedSubclasses obj)Visits a PermittedSubclasses attribute.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.
-
-
-
Constructor Detail
-
DescendingVisitor
public DescendingVisitor(JavaClass clazz, Visitor visitor)
Constructs a DescendingVisitor.- Parameters:
clazz- Class to traverse.visitor- visitor object to apply to all components.
-
-
Method Detail
-
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
-
visitPermittedSubclasses
public void visitPermittedSubclasses(PermittedSubclasses obj)
Description copied from interface:VisitorVisits a PermittedSubclasses attribute.- Specified by:
visitPermittedSubclassesin interfaceVisitor- Parameters:
obj- The attribute.- Since:
- 6.13.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.
-
-