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.
AttrData
 
 
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
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
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
 
 
This is special case of output - for log and trace outputs form compilation, not for bytecode/sources themselves.
4.7.
 
4.
 
The Environment builder.
A sorted list of error messages
 
4.7.3.
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.
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 This class contains tokens specific to parsing JASM syntax.
 
 
Scanner Tokens (Definitive List)
 
 
Compiles just 1 source file
 
 
 
 
 
 
JcodTokens This class contains tokens specific to parsing JCOD syntax.
ConstType A (typed) tag (constant) representing the type of Constant in the Constant Pool.
 
Scanner Tokens (Definitive List)
 
 
 
 
 
 
 
4.7.12.
4.7.13.
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.
MemberData<T extends Environment<? extends ToolLogger>>
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 sdout and secon 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.
Base helper class for a Parser.
This class is used to parse Jasm statements and expressions.
The main compile error for the parser
 
 
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.
ParserCP
Instruction Parser ParserInstr is a parser class owned by Parser.java.
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 an access to the product info.
Range<T extends Comparable<T>>
 
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.
The Signature attribute data
 
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; }
SourceFile_attribute { u2 attribute_name_index; u4 attribute_length; u2 sourcefile_index; }
4.7.4.
StackMap-FrameType table.
MapTypes table.
4.7.4.
represents one entry of StackMap 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; }
 
 
 
 
 
 
Utility class to share common tools/methods.
 
SyntaxError is the generic error thrown by jasm, jcoder while parsing either a jasm file or jcod file.
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
 
Tool<T extends Environment<? extends ToolLogger>>
 
This class is a generic interface, symbolising any input for jdis/jasm/jdec/jcoder.
 
 
 
 
This class is a generic interface, symbolising 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.
 
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.)