# Uses of Interface
org.apache.bcel.classfile.Visitor

Packages that use Visitor
Package
Description
org.apache.bcel.classfile
Classes that describe the structure of a Java class file and a class file parser.
org.apache.bcel.util
Utility classes for the Apache Byte Code Engineering Library (BCEL), namely: Collection classes for JavaClass objects A converter for class files to HTML A tool to find instructions patterns via regular expressions A class to find classes as defined in the CLASSPATH A class loader that allows to create classes at run time
org.apache.bcel.verifier.statics
PassVerifier classes used internally by JustIce.

- ## Uses of Visitor in org.apache.bcel.classfile

  Classes in org.apache.bcel.classfile that implement Visitor
  Modifier and Type
  Class
  Description
  `class`
  `DescendingVisitor`
  Traverses a JavaClass with another Visitor object 'piggy-backed' that is applied to all components of a JavaClass object.
  `class`
  `EmptyVisitor`
  Visitor with empty method bodies, can be extended and used in conjunction with the DescendingVisitor class, e.g.
  Methods in org.apache.bcel.classfile with parameters of type Visitor
  Modifier and Type
  Method
  Description
  `void`
  AnnotationDefault.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  AnnotationEntry.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Annotations.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `abstract void`
  Attribute.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  BootstrapMethods.`accept(Visitor v)`
  `void`
  Code.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  CodeException.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `abstract void`
  Constant.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantClass.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantDouble.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantDynamic.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantFieldref.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantFloat.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantInteger.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantInterfaceMethodref.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantInvokeDynamic.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantLong.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantMethodHandle.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantMethodref.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantMethodType.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantModule.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantNameAndType.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantPackage.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantPool.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantString.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantUtf8.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ConstantValue.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Deprecated.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  EnclosingMethod.`accept(Visitor v)`
  `void`
  ExceptionTable.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Field.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  InnerClass.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  InnerClasses.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  JavaClass.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  LineNumber.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  LineNumberTable.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  LocalVariable.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  LocalVariableTable.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  LocalVariableTypeTable.`accept(Visitor v)`
  `void`
  Method.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  MethodParameter.`accept(Visitor v)`
  `void`
  MethodParameters.`accept(Visitor v)`
  `void`
  Module.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModuleExports.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModuleMainClass.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModuleOpens.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModulePackages.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModuleProvides.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ModuleRequires.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  NestHost.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  NestMembers.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Node.`accept(Visitor visitor)`
  `void`
  ParameterAnnotationEntry.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  ParameterAnnotations.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  PMGClass.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Record.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  RecordComponentInfo.`accept(Visitor v)`
  `void`
  Signature.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  SourceFile.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  StackMap.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  StackMapEntry.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  StackMapType.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Synthetic.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  `void`
  Unknown.`accept(Visitor v)`
  Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
  Constructors in org.apache.bcel.classfile with parameters of type Visitor
  Modifier
  Constructor
  Description
  ``
  `DescendingVisitor(JavaClass clazz, Visitor visitor)`

- ## Uses of Visitor in org.apache.bcel.util

  Classes in org.apache.bcel.util that implement Visitor
  Modifier and Type
  Class
  Description
  `class`
  `BCELifier`
  This class takes a given JavaClass object and converts it to a Java program that creates that very class using BCEL.

- ## Uses of Visitor in org.apache.bcel.verifier.statics

  Classes in org.apache.bcel.verifier.statics that implement Visitor
  Modifier and Type
  Class
  Description
  `class`
  `StringRepresentation`
  BCEL's Node classes (those from the classfile API that accept() Visitor instances) have toString() methods that were not designed to be robust, this gap is closed by this class.