abstract class Symbol
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) static int |
BOOTSTRAP_METHOD_TAG
The tag value of the BootstrapMethods attribute entries.
|
(package private) static int |
CONSTANT_CLASS_TAG
The tag value of CONSTANT_Class_info JVMS structures.
|
(package private) static int |
CONSTANT_DOUBLE_TAG
The tag value of CONSTANT_Double_info JVMS structures.
|
(package private) static int |
CONSTANT_DYNAMIC_TAG
The tag value of CONSTANT_Dynamic_info JVMS structures.
|
(package private) static int |
CONSTANT_FIELDREF_TAG
The tag value of CONSTANT_Fieldref_info JVMS structures.
|
(package private) static int |
CONSTANT_FLOAT_TAG
The tag value of CONSTANT_Float_info JVMS structures.
|
(package private) static int |
CONSTANT_INTEGER_TAG
The tag value of CONSTANT_Integer_info JVMS structures.
|
(package private) static int |
CONSTANT_INTERFACE_METHODREF_TAG
The tag value of CONSTANT_InterfaceMethodref_info JVMS structures.
|
(package private) static int |
CONSTANT_INVOKE_DYNAMIC_TAG
The tag value of CONSTANT_InvokeDynamic_info JVMS structures.
|
(package private) static int |
CONSTANT_LONG_TAG
The tag value of CONSTANT_Long_info JVMS structures.
|
(package private) static int |
CONSTANT_METHOD_HANDLE_TAG
The tag value of CONSTANT_MethodHandle_info JVMS structures.
|
(package private) static int |
CONSTANT_METHOD_TYPE_TAG
The tag value of CONSTANT_MethodType_info JVMS structures.
|
(package private) static int |
CONSTANT_METHODREF_TAG
The tag value of CONSTANT_Methodref_info JVMS structures.
|
(package private) static int |
CONSTANT_MODULE_TAG
The tag value of CONSTANT_Module_info JVMS structures.
|
(package private) static int |
CONSTANT_NAME_AND_TYPE_TAG
The tag value of CONSTANT_NameAndType_info JVMS structures.
|
(package private) static int |
CONSTANT_PACKAGE_TAG
The tag value of CONSTANT_Package_info JVMS structures.
|
(package private) static int |
CONSTANT_STRING_TAG
The tag value of CONSTANT_String_info JVMS structures.
|
(package private) static int |
CONSTANT_UTF8_TAG
The tag value of CONSTANT_Utf8_info JVMS structures.
|
(package private) long |
data
The numeric value of this symbol.
|
(package private) int |
index
The index of this symbol in the constant pool, in the BootstrapMethods attribute, or in the
(ASM specific) type table of a class (depending on the
tag value). |
(package private) int |
info
Additional information about this symbol, generally computed lazily.
|
(package private) static int |
MERGED_TYPE_TAG
The tag value of a merged type entry in the (ASM specific) type table of a class.
|
(package private) java.lang.String |
name
The name of the class field or method corresponding to this symbol.
|
(package private) java.lang.String |
owner
The internal name of the owner class of this symbol.
|
(package private) int |
tag
A tag indicating the type of this symbol.
|
(package private) static int |
TYPE_TAG
The tag value of a normal type entry in the (ASM specific) type table of a class.
|
(package private) static int |
UNINITIALIZED_TYPE_TAG
The tag value of an
Frame.ITEM_UNINITIALIZED type entry in the type table of a class. |
(package private) java.lang.String |
value
The string value of this symbol.
|
Constructor and Description |
---|
Symbol(int index,
int tag,
java.lang.String owner,
java.lang.String name,
java.lang.String value,
long data)
Constructs a new Symbol.
|
Modifier and Type | Method and Description |
---|---|
(package private) int |
getArgumentsAndReturnSizes()
Returns the result
Type.getArgumentsAndReturnSizes() on value . |
static final int CONSTANT_CLASS_TAG
static final int CONSTANT_FIELDREF_TAG
static final int CONSTANT_METHODREF_TAG
static final int CONSTANT_INTERFACE_METHODREF_TAG
static final int CONSTANT_STRING_TAG
static final int CONSTANT_INTEGER_TAG
static final int CONSTANT_FLOAT_TAG
static final int CONSTANT_LONG_TAG
static final int CONSTANT_DOUBLE_TAG
static final int CONSTANT_NAME_AND_TYPE_TAG
static final int CONSTANT_UTF8_TAG
static final int CONSTANT_METHOD_HANDLE_TAG
static final int CONSTANT_METHOD_TYPE_TAG
static final int CONSTANT_DYNAMIC_TAG
static final int CONSTANT_INVOKE_DYNAMIC_TAG
static final int CONSTANT_MODULE_TAG
static final int CONSTANT_PACKAGE_TAG
static final int BOOTSTRAP_METHOD_TAG
static final int TYPE_TAG
static final int UNINITIALIZED_TYPE_TAG
Frame.ITEM_UNINITIALIZED
type entry in the type table of a class.static final int MERGED_TYPE_TAG
final int index
tag
value).final int tag
final java.lang.String owner
CONSTANT_FIELDREF_TAG
, CONSTANT_METHODREF_TAG
, CONSTANT_INTERFACE_METHODREF_TAG
, and CONSTANT_METHOD_HANDLE_TAG
symbols.final java.lang.String name
CONSTANT_FIELDREF_TAG
, CONSTANT_METHODREF_TAG
, CONSTANT_INTERFACE_METHODREF_TAG
, CONSTANT_NAME_AND_TYPE_TAG
, CONSTANT_METHOD_HANDLE_TAG
, CONSTANT_DYNAMIC_TAG
and CONSTANT_INVOKE_DYNAMIC_TAG
symbols.final java.lang.String value
CONSTANT_FIELDREF_TAG
, CONSTANT_METHODREF_TAG
, CONSTANT_INTERFACE_METHODREF_TAG
, CONSTANT_NAME_AND_TYPE_TAG
, CONSTANT_METHOD_HANDLE_TAG
, CONSTANT_METHOD_TYPE_TAG
, CONSTANT_DYNAMIC_TAG
and CONSTANT_INVOKE_DYNAMIC_TAG
symbols,
CONSTANT_UTF8_TAG
and CONSTANT_STRING_TAG
symbols,
CONSTANT_CLASS_TAG
, TYPE_TAG
and UNINITIALIZED_TYPE_TAG
symbols,
final long data
CONSTANT_INTEGER_TAG
,CONSTANT_FLOAT_TAG
, CONSTANT_LONG_TAG
, CONSTANT_DOUBLE_TAG
,
CONSTANT_METHOD_HANDLE_TAG
symbols,
CONSTANT_INVOKE_DYNAMIC_TAG
symbols,
CONSTANT_DYNAMIC_TAG
or BOOTSTRAP_METHOD_TAG
symbols,
Frame.ITEM_UNINITIALIZED
type for UNINITIALIZED_TYPE_TAG
symbols,
TYPE_TAG
source types for MERGED_TYPE_TAG
symbols,
int info
Type.getArgumentsAndReturnSizes()
of the symbol's method descriptor for CONSTANT_METHODREF_TAG
, CONSTANT_INTERFACE_METHODREF_TAG
and CONSTANT_INVOKE_DYNAMIC_TAG
symbols,
CONSTANT_CLASS_TAG
symbols,
MERGED_TYPE_TAG
symbols,
Symbol(int index, int tag, java.lang.String owner, java.lang.String name, java.lang.String value, long data)
SymbolTable
class.index
- the symbol index in the constant pool, in the BootstrapMethods attribute, or in
the (ASM specific) type table of a class (depending on 'tag').tag
- the symbol type. Must be one of the static tag values defined in this class.owner
- The internal name of the symbol's owner class. Maybe null.name
- The name of the symbol's corresponding class field or method. Maybe null.value
- The string value of this symbol. Maybe null.data
- The numeric value of this symbol.int getArgumentsAndReturnSizes()
Type.getArgumentsAndReturnSizes()
on value
.Type.getArgumentsAndReturnSizes()
on value
(memoized in
info
for efficiency). This should only be used for CONSTANT_METHODREF_TAG
, CONSTANT_INTERFACE_METHODREF_TAG
and CONSTANT_INVOKE_DYNAMIC_TAG
symbols.