# Uses of Interface
serp.bytecode.visitor.VisitAcceptor

Packages that use VisitAcceptor
Package
Description
serp.bytecode
Bytecode Manipuation
serp.bytecode.lowlevel
Lowlevel Bytecode Manipuation
serp.bytecode.visitor
Bytecode Visitor

## Uses of VisitAcceptor in serp.bytecode

Classes in serp.bytecode that implement VisitAcceptor
Modifier and Type
Class
Description
`class`
`Annotation`
A declared annotation.
`static class`
`Annotation.Property`
An annotation property.
`class`
`Annotations`
Java annotation data.
`class`
`ArrayInstruction`
Any array load or store instruction.
`class`
`ArrayLoadInstruction`
Loads a value from an array onto the stack.
`class`
`ArrayStoreInstruction`
Store a value from the stack into an array.
`class`
`Attribute`
In bytecode attributes are used to represent anything that is not part of the class structure.
`class`
`BCClass`
The BCClass represents a class object in the bytecode framework, in many ways mirroring the `Class` class of Java reflection.
`class`
`BCField`
A field of a class.
`class`
`BCMethod`
A method of a class.
`class`
`BootstrapMethods`
`class`
`ClassInstruction`
An instruction that takes as an argument a class to operate on.
`class`
`CmpInstruction`
An instruction comparing two stack values.
`class`
`Code`
Representation of a code block of a class.
`class`
`ConstantInstruction`
An instruction that that loads a constant onto the stack.
`class`
`ConstantValue`
A constant value for a member field.
`class`
`ConvertInstruction`
A conversion opcode such as `i2l, f2i`, etc.
`class`
`Deprecated`
Attribute signifying that a method or class is deprecated.
`class`
`ExceptionHandler`
Represents a `try {} catch() {}` statement in bytecode.
`class`
`Exceptions`
Attribute declaring the checked exceptions a method can throw.
`class`
`FieldInstruction`
Instruction that takes as an argument a field to operate on.
`class`
`GetFieldInstruction`
Loads a value from a field onto the stack.
`class`
`GotoInstruction`
An instruction that specifies a position in the code block to jump to.
`class`
`IfInstruction`
An if instruction such as `ifnull, ifeq`, etc.
`class`
`IIncInstruction`
The `iinc` instruction.
`class`
`InnerClass`
Any referenced class that is not a package member is represented by this structure.
`class`
`InnerClasses`
Attribute describing all referenced classes that are not package members.
`class`
`Instruction`
An opcode in a method of a class.
`class`
`JumpInstruction`
An instruction that specifies a position in the code block to jump to.
`class`
`LineNumber`
A line number corresponds to a sequence of opcodes that map logically to a line of source code.
`class`
`LineNumberTable`
Code blocks compiled from source have line number tables mapping opcodes to source lines.
`class`
`LoadInstruction`
Loads a value from the locals table to the stack.
`class`
`LocalTable`
Code blocks compiled from source have local tables mapping locals used in opcodes to their names and descriptions.
`class`
`LocalVariableInstruction`
An instruction that has an argument of an index into the local variable table of the current frame.
`class`
`LocalVariableTable`
Code blocks compiled from source have local variable tables mapping locals used in opcodes to their names and descriptions.
`class`
`LocalVariableTypeTable`
Code blocks compiled from source have local variable type tables mapping generics-using locals used in opcodes to their names and signatures.
`class`
`LookupSwitchInstruction`
The `lookupswitch` instruction.
`class`
`MathInstruction`
One of the math operations defined in the `Constants` interface.
`class`
`MethodInstruction`
An instruction that invokes a method.
`class`
`MonitorEnterInstruction`
The `monitorenter` instruction.
`class`
`MonitorExitInstruction`
The `monitorexit` instruction.
`class`
`MonitorInstruction`
A synchronization instruction.
`class`
`MultiANewArrayInstruction`
The `multianewarray` instruction, which creates a new multi-dimensional array.
`class`
`NewArrayInstruction`
The `newarray` instruction, which is used to create new arrays of primitive types.
`class`
`Project`
The Project represents a working set of classes.
`class`
`PutFieldInstruction`
Stores a value from the stack into a field.
`class`
`RetInstruction`
The `ret` instruction is used in the implementation of finally.
`class`
`ReturnInstruction`
Returns a value (or void) from a method.
`class`
`SourceFile`
Attribute naming the source file for this class.
`class`
`StackInstruction`
Represents an instruction that manipulates the stack of the current frame.
`class`
`StoreInstruction`
An instruction to store a value from a local variable onto the stack.
`class`
`SwitchInstruction`
Contains functionality common to the different switch types (TableSwitch and LookupSwitch).
`class`
`Synthetic`
Attribute marking a member as synthetic, or not present in the class source code.
`class`
`TableSwitchInstruction`
The `tableswitch` instruction.
`class`
`TypedInstruction`
Any typed instruction.
`class`
`UnknownAttribute`
An unrecognized attribute; class files are allowed to contain attributes that are not recognized, and the JVM must ignore them.
`class`
`WideInstruction`
The `wide` instruction, which is used to allow other instructions to index values beyond what they can normally index baed on the length of their arguments.

## Uses of VisitAcceptor in serp.bytecode.lowlevel

Classes in serp.bytecode.lowlevel that implement VisitAcceptor
Modifier and Type
Class
Description
`class`
`ClassEntry`
A constant pool entry describing a class.
`class`
`ComplexEntry`
Base class for field, method, and interface method constant pool entries.
`class`
`ConstantPool`
A bytecode constant pool, containing entries for all strings, constants, classes, etc referenced in the class structure and method opcodes.
`class`
`DoubleEntry`
A constant double value in the constant pool.
`class`
`Entry`
Base type for all constant pool entries.
`class`
`FieldEntry`
A reference to a class field.
`class`
`FloatEntry`
A constant float value in the constant pool.
`class`
`IntEntry`
A constant int value in the constant pool.
`class`
`InterfaceMethodEntry`
A reference to an interface method.
`class`
`InvokeDynamicEntry`
InvokeDynamic u1 tag u2 bootstrap_method_attr_index // References entry in Bootstrap Methods table u2 name_and_type_index // References NameAndTypeEntry representing method name and descriptor
`class`
`LongEntry`
A long constant in the constant pool.
`class`
`MethodEntry`
A reference to a class method.
`class`
`MethodHandleEntry`
MethodHandle u1 tag u1 reference_kind u2 reference_index
`class`
`MethodTypeEntry`
MethodType u1 tag u2 descriptor_index
`class`
`NameAndTypeEntry`
Entry containing indexes referencing a name and a descriptor.
`class`
`StringEntry`
A String constant in the constant pool.
`class`
`UTF8Entry`
A unicode string value in the constant pool.

## Uses of VisitAcceptor in serp.bytecode.visitor

Methods in serp.bytecode.visitor with parameters of type VisitAcceptor
Modifier and Type
Method
Description
`void`
BCVisitor.`visit(VisitAcceptor obj)`
Visit the given entity.
`void`
PrettyPrintVisitor.`visit(VisitAcceptor entity)`