# 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, for example.
  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)`
  Accepts a visitor.
  `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)`
  Accepts a 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)`
  Constructs a DescendingVisitor.

- ## 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.