Top Description Interfaces Classes
[default module]

Package org.apache.bcel.classfile


Classes that describe the structure of a Java class file and a class file parser.

Interface Summary

Modifier and TypeInterface and Description
public interface
AttributeReader

Deprecated Use UnknownAttributeReader instead
Unknown (non-standard) attributes may be read via user-defined factory objects that can be registered with the Attribute.addAttributeReader method.
public interface
ConstantObject

This interface denotes those constants that have a "natural" value, such as ConstantLong, ConstantString, etc..

public interface
Node

Denote class to have an accept method();

public interface
UnknownAttributeReader

Unknown (non-standard) attributes may be read via user-defined factory objects that can be registered with the Attribute.addAttributeReader method.

public interface
Visitor

Interface to make use of the Visitor pattern programming style.

Class Summary

Modifier and TypeClass and Description
public abstract class
AccessFlags

Super class for all objects that have modifiers like private, final, ...

public class
AnnotationDefault

Represents the default value of a annotation for a method info.

public class
public class
AnnotationEntry

Represents one annotation in the annotation table

public abstract class
Annotations

base class for annotations

public class
public abstract class
Attribute

Abstract super class for Attribute objects.

public class
BootstrapMethod

This class represents a bootstrap method attribute, i.e., the bootstrap method ref, the number of bootstrap arguments and an array of the bootstrap arguments.

public class
BootstrapMethods

This class represents a BootstrapMethods attribute.

public class
public class
ClassFormatException

Thrown when the BCEL attempts to read a class file and determines that a class is malformed or otherwise cannot be interpreted as a class file.

public class
ClassParser

Wrapper class that parses a given Java .class file.

public class
Code

This class represents a chunk of Java byte code contained in a method.

public class
CodeException

Deprecated as a consequence of Constants being deprecated.
This class represents an entry in the exception table of the Code attribute and is used only there.
public abstract class
Constant

Abstract superclass for classes to represent the different constant types in the constant pool of a class file.

public class
ConstantClass

This class is derived from the abstract Constant and represents a reference to a (external) class.

public abstract class
ConstantCP

Abstract super class for Fieldref, Methodref, InterfaceMethodref and InvokeDynamic constants.

public class
ConstantDouble

This class is derived from the abstract Constant and represents a reference to a Double object.

public class
ConstantDynamic

This class is derived from the abstract Constant and represents a reference to a dynamically computed constant.

public class
ConstantFieldref

This class represents a constant pool reference to a field.

public class
ConstantFloat

This class is derived from the abstract Constant and represents a reference to a float object.

public class
ConstantInteger

This class is derived from the abstract Constant and represents a reference to an int object.

public class
ConstantInterfaceMethodref

This class represents a constant pool reference to an interface method.

public class
ConstantInvokeDynamic

This class is derived from the abstract Constant and represents a reference to a invoke dynamic.

public class
ConstantLong

This class is derived from the abstract Constant and represents a reference to a long object.

public class
ConstantMethodHandle

This class is derived from the abstract Constant and represents a reference to a method handle.

public class
ConstantMethodref

This class represents a constant pool reference to a method.

public class
ConstantMethodType

This class is derived from the abstract Constant and represents a reference to a method type.

public class
ConstantModule

This class is derived from the abstract Constant and represents a reference to a module.

public class
ConstantNameAndType

This class is derived from the abstract Constant and represents a reference to the name and signature of a field or method.

public class
ConstantPackage

This class is derived from the abstract Constant and represents a reference to a package.

public class
ConstantPool

This class represents the constant pool, i.e., a table of constants, of a parsed classfile.

public class
ConstantString

This class is derived from the abstract Constant and represents a reference to a String object.

public class
ConstantUtf8

Extends the abstract Constant to represent a reference to a UTF-8 encoded string.

public class
ConstantValue

This class is derived from Attribute and represents a constant value, i.e., a default value for initializing a class field.

public class
Deprecated

This class is derived from Attribute and denotes that this is a deprecated method.

public class
DescendingVisitor

Traverses a JavaClass with another Visitor object 'piggy-backed' that is applied to all components of a JavaClass object.

public abstract class
ElementValue

The element_value structure is documented at https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.7.16.1

 element_value {
    u1 tag;
    union {
        u2 const_value_index;

        {   u2 type_name_index;
            u2 const_name_index;
        } enum_const_value;

        u2 class_info_index;

        annotation annotation_value;

        {   u2            num_values;
            element_value values[num_values];
        } array_value;
    } value;
}
public class
ElementValuePair

An annotation's element value pair.

public class
EmptyVisitor

Visitor with empty method bodies, can be extended and used in conjunction with the DescendingVisitor class, e.g. By courtesy of David Spencer.

public class
EnclosingMethod

This attribute exists for local or anonymous classes and ...

public class
public class
ExceptionTable

This class represents the table of exceptions that are thrown by a method.

public class
Field

This class represents the field info structure, i.e., the representation for a variable in the class.

public abstract class
FieldOrMethod

Abstract super class for fields and methods.

public class
InnerClass

This class represents a inner class attribute, i.e., the class indices of the inner and outer classes, the name and the attributes of the inner class.

public class
InnerClasses

This class is derived from Attribute and denotes that this class is an Inner class of another.

public class
InvalidMethodSignatureException

Thrown when the BCEL attempts to read a class file and determines that a class is malformed or otherwise cannot be interpreted as a class file.

public class
JavaClass

Represents a Java class, i.e., the data structures, constant pool, fields, methods and commands contained in a Java .class file.

public class
LineNumber

This class represents a (PC offset, line number) pair, i.e., a line number in the source that corresponds to a relative address in the byte code.

public class
LineNumberTable

This class represents a table of line numbers for debugging purposes.

public class
LocalVariable

Deprecated as a consequence of Constants being deprecated.
This class represents a local variable within a method.
public class
LocalVariableTable

This class represents colection of local variables in a method.

public class
public class
Method

This class represents the method info structure, i.e., the representation for a method in the class.

public class
MethodParameter

Entry of the parameters table.

public class
MethodParameters

This class represents a MethodParameters attribute.

public class
Module

This class is derived from Attribute and represents the list of modules required, exported, opened or provided by a module.

public class
ModuleExports

This class represents an entry in the exports table of the Module attribute.

public class
ModuleMainClass

This class is derived from Attribute and indicates the main class of a module.

public class
ModuleOpens

This class represents an entry in the opens table of the Module attribute.

public class
ModulePackages

This class is derived from Attribute and represents the list of packages that are exported or opened by the Module attribute.

public class
ModuleProvides

This class represents an entry in the provides table of the Module attribute.

public class
ModuleRequires

This class represents an entry in the requires table of the Module attribute.

public class
NestHost

This class is derived from Attribute and records the nest host of the nest to which the current class or interface claims to belong.

public class
NestMembers

This class is derived from Attribute and records the classes and interfaces that are authorized to claim membership in the nest hosted by the current class or interface.

public class
ParameterAnnotationEntry

represents one parameter annotation in the parameter annotation table

public abstract class
ParameterAnnotations

base class for parameter annotations

public class
PMGClass

This class is derived from Attribute and represents a reference to a PMG attribute.

public class
RuntimeInvisibleAnnotations

represents an annotation that is represented in the class file but is not provided to the JVM.

public class
RuntimeInvisibleParameterAnnotations

Represents a parameter annotation that is represented in the class file but is not provided to the JVM.

public class
RuntimeVisibleAnnotations

represents an annotation that is represented in the class file and is provided to the JVM.

public class
RuntimeVisibleParameterAnnotations

Represents a parameter annotation that is represented in the class file and is provided to the JVM.

public class
Signature

This class is derived from Attribute and represents a reference to a GJ attribute.

public class
public class
SourceFile

This class is derived from Attribute and represents a reference to the source file of this class.

public class
StackMap

This class represents a stack map attribute used for preverification of Java classes for the Java 2 Micro Edition (J2ME).

public class
StackMapEntry

This class represents a stack map entry recording the types of local variables and the of stack items at a given byte code offset.

public class
StackMapType

This class represents the type of a local variable or item on stack used in the StackMap entries.

public class
Synthetic

This class is derived from Attribute and declares this class as 'synthetic', i.e., it needs special handling.

public class
Unknown

This class represents a reference to an unknown (i.e., application-specific) attribute of a class.

public abstract class
Utility

Utility functions that do not really belong to any class in particular.