All Classes and Interfaces

Class
Description
JVMS 4.7.16.
 
AnnotationElemValue Used to store Annotation Data
Base class of all AnnotationElement entries
Annotation value that is a reference to an annotation.
Base class for an annotation value.
Annotation value that is an array of annotation elements.
Annotation value which is described by a single CPX entries (i.e.
AnnotationValue that contain 2 cpx indices (i.e.
Base class of the "classes/descriptors[]" data of attributes
AttrData
 
Base class for attributes: SourceFile, NestHost, EnclosingMethod with format:
 
 
BootstrapMethods_attribute { ...
 
Compiles just 1 source file
 
 
 
 
Utility methods to verify modifiers masks for classes, interfaces, methods and fields
Base class of the "classes[]" data of attributes:
ClassData
Class data of the Java Decoder
Central class data for of the Java Disassembler
This is a wrapper for DataOutputStream, used for debugging purposes.
 
Container holds 2 pairs of core classes: this_class, super_class, and functionality to get output file name.
 
ClassFileConst
Annotation Element Type enums Table 4.7.16.1-A.
BasicType enums
A (typed) tag (constant) representing the type of Constant in the Constant Pool.
SubTag enums
Class File context CF_Context enums
4.7.3.
 
 
 
Code data for a code attribute in method members in a class of the Java Disassembler
 
This interface defines constant that are used throughout the compiler.
 
ConstantPool is the class responsible for maintaining constants for a given class file.
Class representing the Constant Pool
 
CONSTANT_Cell represents CONSTANT_Class(7), CONSTANT_String(8), CONSTANT_MethodType(16), CONSTANT_Module(19), CONSTANT_Package(20) constants
The CONSTANT_Class(7) structure represents constant objects of the type String
The CONSTANT_Double(6) represents 8-byte numeric (double) constants
The CONSTANT_Dynamic (17) structure is used to represent a dynamically-computed constant, an arbitrary value that is produced by invocation of a bootstrap method in the course of a ldc instruction, among others.
The CONSTANT_Fieldref(9) structure is used to represent a field
CONSTANT_Float(4) structure represents 4-byte numeric (float) constants
CONSTANT_Integer(3) structure represents 4-byte numeric (int) constants
The CONSTANT_InterfaceMethodref(11) structure is used to represent an interface method
The CONSTANT_InvokeDynamic_info(18) structure is used to represent a dynamically-computed call site, an instance of java.lang.invoke.CallSite that is produced by invocation of a bootstrap method in the course of an invokedynamic instruction.
The CONSTANT_Long_info(5) represents 8-byte numeric (long) constants
The CONSTANT_MethodHandle(15) structure is used to represent a method handle T : ConstValue_MethodRef, ConstValue_InterfaceMethodRef or ConstValue_FieldRef
The CONSTANT_Methodref(10) structure is used to represent a method
The CONSTANT_MethodType(16) structure represents a method type
The CONSTANT_Module(19) structure represents a module
The CONSTANT_NameAndType(12) structure is used to represent a field or method, without indicating which class or interface type it belongs to
The CONSTANT_Package(20) structure represents a method type
ConstValue_Pair represents CONSTANT_NameAndType(12), CONSTANT_Fieldref(9), CONSTANT_Methodref(10), and CONSTANT_InterfaceMethodref(11) structures
The CONSTANT_String(8) structure represents a class or an interface
CONSTANT_UTF8(1) is used to represent constant objects of the type: String
CONSTANT_ZERO: Zero Constant Value presents Constant 0.
 
SUBTAG - A Tag descriptor of form method-handle constants
TAG - A Tag descriptor of constants in the constant pool
Writable data could be undefined until Constant Pool is filled in
Writable element of the DataVector u2 vector[elements];
ConstantCell is a type of data that can be in a constant pool.
A (typed) tagged value in the constant pool like ConstCell
 
Constant Pool Tag Visitor base class defining a visitor for decoding constants.
CPVisitor base class defining a visitor for decoding constants.
Constant Pool Index Attribute
 
Container for attributes having inline tables: InnerClasses, BootstrapMethods, LineNumberTable, Runtime(In)Visible(Type|Parameter)Annotations, LocalVariableTable, StackMapTable
Base contract for writeable structures
 
 
DefaultAnnotationAttr Used to represent Default Annotation Attributes
See JVMS, section 4.4.
 
 
 
This is special case of output - for log and trace outputs form compilation, not for bytecode/sources themselves.
4.7.
The element of the class Container that belongs to the owner M
Attribute location Table 4.7-C.
 
4.
EnclosingMethod_attribute { u2 attribute_name_index; u4 attribute_length; u2 class_index; u2 method_index; } If the current class is not immediately enclosed by a method or constructor, then the value of the method_index item must be zero.
The EnclosingMethod attribute since 45.3
 
The Environment builder.
A sorted list of error messages
 
4.7.3.
Exceptions_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_exceptions; u2 exception_index_table[number_of_exceptions]; }
field_info
Field data for field members in a class of the Java Disassembler
 
 
 
 
FormatError is the generic error thrown by jdis, jdec while parsing a class file.
A concrete implementation of NamedToolOutput that writes output to a file system.
 
Utility class for Hex strings, bytes manipulations
A class that lazily opens a package-specific resource bundle containing localization data for a class.
 
 
 
Indexer a position starting from 0 of a constant cell in the Constant Pool.
 
4.7.6.
 
instruction attributes
 
 
JasmTokens
 
 
Scanner Tokens (Definitive List)
 
 
Compiles just 1 source file
 
 
 
 
 
 
JcodTokens
 
Scanner Tokens (Definitive List)
 
 
 
 
 
 
 
4.7.12.
Represents a single line number data entry within a Line Number Table attribute.
Valhalla:
Valhalla:
LocalTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 local_table_length; { u2 start_pc; u2 length; u2 name_index; u2 descriptor/signature_index; u2 index; } local_table[local__table_length]; }
Class for entries: local_variable_table[i], local_variable_type_table[i] 4.7.13.
LocalVariableTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 local_variable_table_length; { u2 start_pc; u2 length; u2 name_index; u2 descriptor_index; u2 index; } local_variable_table[local_variable_table_length]; }
LocalVariableTypeTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 local_variable_type_table_length; { u2 start_pc; u2 length; u2 name_index; u2 signature_index; u2 index; } local_variable_type_table[local_variable_type_table_length]; }
Jasm is an assembler that accepts a text file based on the JASM Specification, and produces a .class file for use with a Java Virtual Machine.
Jcoder is an assembler that accepts a text file based on the JCod Specification, and produces a .class file for use with a Java Virtual Machine.
jdec is a disassembler that accepts a .class file, and prints the plain-text translation of jcod source file to the standard output.
jdis is a disassembler that accepts a .class file, and prints the plain-text translation of jasm source file to the standard output.
Wrapper class that reads the first command line argument and invokes a corresponding tool.
Indicates that the element has a specific printable measurement/size.
The common base structure for field_info, method_info, and component_info
Base class for ClassData, MethodData, FieldData and RecordData(JEP 360)
 
 
Method data for method members in a class of the Java Disassembler
Used to store Parameter Arrays (as attributes)
 
MethodParamData
 
The module attribute
 
 
u2 {exports|opens}_count; { u2 {exports|opens}_index; u2 {exports|opens}_flags; u2 {exports|opens}_to_count; u2 {exports|opens}_to_index[{exports|opens}_to_count]; } {exports|opens}[{exports|opens}_count]; or u2 provides_count; { u2 provides_index; u2 provides_with_count; u2 provides_with_index[provides_with_count]; } provides[provides_count];
u2 uses_count; u2 uses_index[uses_count]; or u2 requires_count; { u2 requires_index; u2 requires_flags; u2 requires_version_index; } requires[requires_count];
Internal presentation of a module
The module builder.
 
 
 
 
 
 
 
 
 
The module attribute data.
 
Historically, the output loggers for compilers had two stderrs, one to stdout and second to stderr.
Wrapper for Pair class for keeping Name information that is the Constant Pool Index and Corresponding Name.
this class provides functionality needed to read class files: methods to read unsigned integers of various length counts bytes read so far
The NestHost attribute data
The "classes[]" data of attributes JEP 181 (Nest-based Access Control): class file 55.0 NestMembers_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_classes; u2 classes[number_of_classes]; }
The NestMembers attribute data
class used to indicate missing functionality
OpcodeTables
 
Marker: describes the type of Opcode.
The singleton class to share global options among jdis classes.
 
 
4.7.18.
ParserAnnotation
AnnotationElemValue - used to store Annotation values
Annotation Element value referring to an Array
Annotation Element value referring to a class
Annotation Element value referring to a Constant
Element Value for Enums
Target Type visitor, used for constructing the target-info within a type annotation.
 
Base helper class for a Parser.
ParserCP
Instruction Parser
This class is used to parse Jasm statements and expressions.
The main compile error for the parser
 
 
The "classes[]" data of attributes JEP 360 (Sealed types): class file 59.65535 PermittedSubclasses_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_classes; u2 classes[number_of_classes]; }
The PermittedSubclasses attribute data
 
 
Class providing access to the product info.
 
The record attribute (JEP 359 since class file 58.65535)
The Record attribute data
record_component_info { u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; }
A Scanner for Jasm tokens.
A Scanner for Jcoder tokens.
See JVMS 4.4.4.
The Signature attribute data since class file 49.0
 
SourceDebugExtension_attribute { u2 attribute_name_index; u4 attribute_length; u1 debug_extension[attribute_length]; The debug_extension array holds extended debugging information which has no semantic effect on the JVM.
 
The SourceDebugExtension attribute
SourceFile_attribute { u2 attribute_name_index; u4 attribute_length; u2 sourcefile_index; }
The SourceFile attribute since 45.3
4.7.4.
StackMap-FrameType table.
MapTypes table.
4.7.4.
Represents one entry of StackMapTable attribute:
 
verification_type_info: Top_variable_info, Integer_variable_info, Float_variable_info, Null_variable_info, UninitializedThis_variable_info, Long_variable_info, Double_variable_info Common format: *_info { u1 tag = ITEM_*; // from 0 to 6 }
verification_type_info: Object_variable_info, Uninitialized_variable_info Common Format: *_info { u1 tag = ITEM_*; // from 7 to 8 u2 cpool_index/offset; }
StackMapTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_entries; stack_map_frame entries[number_of_entries]; }
 
 
 
 
 
 
Utility class for string operations related to ASM tools.
tableswitch invalid input: '<'0-3 byte pad> defaultbyte1 defaultbyte2 defaultbyte3 defaultbyte4 lowbyte1 lowbyte2 lowbyte3 lowbyte4 highbyte1 highbyte2 highbyte3 highbyte4 jump offsets...
SyntaxError is the generic error thrown by jasm, jcoder while parsing either a jasm file or jcod file.
The TableFormatModel class stores and manages attributes that support a tabular (javap-like) format, which can be switched on using the --table option.
 
Base class for JasmEnvironment.InputFile and JcoderEnvironment.InputFile that read the jasm, jcod text files
A container for the java sources tied to an asm output when -sl in on
 
 
This class is a generic interface, symbolising any input for jdis/jasm/jdec/jcoder.
 
 
 
This class is a generic interface, symbolizing any output from jdis/jasm/jdec/jcoder.
Exception table entry (JVMS 4.7.3 The Code Attribute) describes one exception handler in the code array CodeData.
 
 
Family of classes used to represent the parsed form of a Descriptor or Signature.
Represents an array type signature.
Represents a class signature.
Represents a class type signature.
Represents a method type signature.
Represents a type signature with a simple name.
Represents a FormalTypeParameter.
 
Represents a wildcard type argument.
 
JVMS 4.7.20.
Type Annotation data is a specific kind of AnnotationData.
TargetInfo (4.7.20.1.
catch_target (4.7.20.1.
empty_target (4.7.20.1.
formal_parameter_target (4.7.20.1.
localvar_target (4.7.20.1.
 
offset_target (4.7.20.1.
supertype_target (4.7.20.1.
throws_target (4.7.20.1.
type_argument_target (4.7.20.1.
type_parameter_bound_target (4.7.20.1.
type_parameter_target (4.7.20.1.
JVMS 4.7.20.2.
Type annotation types: target_type, target_info and target_path
Interpretation of type_path_kind values (Table 4.7.20.2-A)
union { type_parameter_target; supertype_target; type_parameter_bound_target; empty_target; method_formal_parameter_target; throws_target; localvar_target; catch_target; offset_target; type_argument_target; } target_info;
Interpretation of target_type values (Table 4.7.20-A./B.)