Top Description Fields Constructors Methods
org.easymock.asm

pack-priv abstract Class Symbol

extends Object
Class Inheritance
Known Direct Subclasses
org.easymock.asm.SymbolTable.Entry

An entry of the constant pool, of the BootstrapMethods attribute, or of the (ASM specific) type table of a class.
Author
Eric Bruneton
See Also
JVMS 4.4, JVMS 4.7.23

Field Summary

Modifier and TypeField and Description
pack-priv static final int
BOOTSTRAP_METHOD_TAG

The tag value of the BootstrapMethods attribute entries.

pack-priv static final int
CONSTANT_CLASS_TAG

The tag value of CONSTANT_Class_info JVMS structures.

pack-priv static final int
CONSTANT_DOUBLE_TAG

The tag value of CONSTANT_Double_info JVMS structures.

pack-priv static final int
CONSTANT_DYNAMIC_TAG

The tag value of CONSTANT_Dynamic_info JVMS structures.

pack-priv static final int
CONSTANT_FIELDREF_TAG

The tag value of CONSTANT_Fieldref_info JVMS structures.

pack-priv static final int
CONSTANT_FLOAT_TAG

The tag value of CONSTANT_Float_info JVMS structures.

pack-priv static final int
CONSTANT_INTEGER_TAG

The tag value of CONSTANT_Integer_info JVMS structures.

pack-priv static final int
CONSTANT_INTERFACE_METHODREF_TAG

The tag value of CONSTANT_InterfaceMethodref_info JVMS structures.

pack-priv static final int
CONSTANT_INVOKE_DYNAMIC_TAG

The tag value of CONSTANT_InvokeDynamic_info JVMS structures.

pack-priv static final int
CONSTANT_LONG_TAG

The tag value of CONSTANT_Long_info JVMS structures.

pack-priv static final int
CONSTANT_METHOD_HANDLE_TAG

The tag value of CONSTANT_MethodHandle_info JVMS structures.

pack-priv static final int
CONSTANT_METHOD_TYPE_TAG

The tag value of CONSTANT_MethodType_info JVMS structures.

pack-priv static final int
CONSTANT_METHODREF_TAG

The tag value of CONSTANT_Methodref_info JVMS structures.

pack-priv static final int
CONSTANT_MODULE_TAG

The tag value of CONSTANT_Module_info JVMS structures.

pack-priv static final int
CONSTANT_NAME_AND_TYPE_TAG

The tag value of CONSTANT_NameAndType_info JVMS structures.

pack-priv static final int
CONSTANT_PACKAGE_TAG

The tag value of CONSTANT_Package_info JVMS structures.

pack-priv static final int
CONSTANT_STRING_TAG

The tag value of CONSTANT_String_info JVMS structures.

pack-priv static final int
CONSTANT_UTF8_TAG

The tag value of CONSTANT_Utf8_info JVMS structures.

pack-priv final long
data

The numeric value of this symbol.

pack-priv final 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).

pack-priv int
info

Additional information about this symbol, generally computed lazily.

pack-priv static final int
MERGED_TYPE_TAG

The tag value of a merged type entry in the (ASM specific) type table of a class.

pack-priv final String
name

The name of the class field or method corresponding to this symbol.

pack-priv final String
owner

The internal name of the owner class of this symbol.

pack-priv final int
tag

A tag indicating the type of this symbol.

pack-priv static final int
TYPE_TAG

The tag value of a normal type entry in the (ASM specific) type table of a class.

pack-priv static final int
UNINITIALIZED_TYPE_TAG

The tag value of an Frame#ITEM_UNINITIALIZED type entry in the type table of a class.

pack-priv final String
value

The string value of this symbol.

Constructor Summary

AccessConstructor and Description
pack-priv
Symbol(final int
the symbol index in the constant pool, in the BootstrapMethods attribute, or in the (ASM specific) type table of a class (depending on 'tag').
index
,
final int
the symbol type. Must be one of the static tag values defined in this class.
tag
,
final String
The internal name of the symbol's owner class. Maybe null.
owner
,
final String
The name of the symbol's corresponding class field or method. Maybe null.
name
,
final String
The string value of this symbol. Maybe null.
value
,
final long
The numeric value of this symbol.
data
)

Constructs a new Symbol.

Method Summary

Modifier and TypeMethod and Description
pack-priv int

Returns:

the result 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.
getArgumentsAndReturnSizes
()

Returns the result Type#getArgumentsAndReturnSizes on value.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

BOOTSTRAP_METHOD_TAGback to summary
pack-priv static final int BOOTSTRAP_METHOD_TAG

The tag value of the BootstrapMethods attribute entries.

CONSTANT_CLASS_TAGback to summary
pack-priv static final int CONSTANT_CLASS_TAG

The tag value of CONSTANT_Class_info JVMS structures.

CONSTANT_DOUBLE_TAGback to summary
pack-priv static final int CONSTANT_DOUBLE_TAG

The tag value of CONSTANT_Double_info JVMS structures.

CONSTANT_DYNAMIC_TAGback to summary
pack-priv static final int CONSTANT_DYNAMIC_TAG

The tag value of CONSTANT_Dynamic_info JVMS structures.

CONSTANT_FIELDREF_TAGback to summary
pack-priv static final int CONSTANT_FIELDREF_TAG

The tag value of CONSTANT_Fieldref_info JVMS structures.

CONSTANT_FLOAT_TAGback to summary
pack-priv static final int CONSTANT_FLOAT_TAG

The tag value of CONSTANT_Float_info JVMS structures.

CONSTANT_INTEGER_TAGback to summary
pack-priv static final int CONSTANT_INTEGER_TAG

The tag value of CONSTANT_Integer_info JVMS structures.

CONSTANT_INTERFACE_METHODREF_TAGback to summary
pack-priv static final int CONSTANT_INTERFACE_METHODREF_TAG

The tag value of CONSTANT_InterfaceMethodref_info JVMS structures.

CONSTANT_INVOKE_DYNAMIC_TAGback to summary
pack-priv static final int CONSTANT_INVOKE_DYNAMIC_TAG

The tag value of CONSTANT_InvokeDynamic_info JVMS structures.

CONSTANT_LONG_TAGback to summary
pack-priv static final int CONSTANT_LONG_TAG

The tag value of CONSTANT_Long_info JVMS structures.

CONSTANT_METHOD_HANDLE_TAGback to summary
pack-priv static final int CONSTANT_METHOD_HANDLE_TAG

The tag value of CONSTANT_MethodHandle_info JVMS structures.

CONSTANT_METHOD_TYPE_TAGback to summary
pack-priv static final int CONSTANT_METHOD_TYPE_TAG

The tag value of CONSTANT_MethodType_info JVMS structures.

CONSTANT_METHODREF_TAGback to summary
pack-priv static final int CONSTANT_METHODREF_TAG

The tag value of CONSTANT_Methodref_info JVMS structures.

CONSTANT_MODULE_TAGback to summary
pack-priv static final int CONSTANT_MODULE_TAG

The tag value of CONSTANT_Module_info JVMS structures.

CONSTANT_NAME_AND_TYPE_TAGback to summary
pack-priv static final int CONSTANT_NAME_AND_TYPE_TAG

The tag value of CONSTANT_NameAndType_info JVMS structures.

CONSTANT_PACKAGE_TAGback to summary
pack-priv static final int CONSTANT_PACKAGE_TAG

The tag value of CONSTANT_Package_info JVMS structures.

CONSTANT_STRING_TAGback to summary
pack-priv static final int CONSTANT_STRING_TAG

The tag value of CONSTANT_String_info JVMS structures.

CONSTANT_UTF8_TAGback to summary
pack-priv static final int CONSTANT_UTF8_TAG

The tag value of CONSTANT_Utf8_info JVMS structures.

databack to summary
pack-priv final long data

The numeric value of this symbol. This is:

indexback to summary
pack-priv final 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).

infoback to summary
pack-priv int info

Additional information about this symbol, generally computed lazily. Warning: the value of this field is ignored when comparing Symbol instances (to avoid duplicate entries in a SymbolTable). Therefore, this field should only contain data that can be computed from the other fields of this class. It contains:

MERGED_TYPE_TAGback to summary
pack-priv static final int MERGED_TYPE_TAG

The tag value of a merged type entry in the (ASM specific) type table of a class.

nameback to summary
pack-priv final String name

The name of the class field or method corresponding to this symbol. Only used for 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.

ownerback to summary
pack-priv final String owner

The internal name of the owner class of this symbol. Only used for CONSTANT_FIELDREF_TAG, CONSTANT_METHODREF_TAG, CONSTANT_INTERFACE_METHODREF_TAG, and CONSTANT_METHOD_HANDLE_TAG symbols.

tagback to summary
pack-priv final int tag

A tag indicating the type of this symbol. Must be one of the static tag values defined in this class.

TYPE_TAGback to summary
pack-priv static final int TYPE_TAG

The tag value of a normal type entry in the (ASM specific) type table of a class.

UNINITIALIZED_TYPE_TAGback to summary
pack-priv static final int UNINITIALIZED_TYPE_TAG

The tag value of an Frame#ITEM_UNINITIALIZED type entry in the type table of a class.

valueback to summary
pack-priv final String value

The string value of this symbol. This is:

Constructor Detail

Symbolback to summary
pack-priv Symbol(final int index, final int tag, final String owner, final String name, final String value, final long data)

Constructs a new Symbol. This constructor can't be used directly because the Symbol class is abstract. Instead, use the factory methods of the SymbolTable class.

Parameters
index:int

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:int

the symbol type. Must be one of the static tag values defined in this class.

owner:String

The internal name of the symbol's owner class. Maybe null.

name:String

The name of the symbol's corresponding class field or method. Maybe null.

value:String

The string value of this symbol. Maybe null.

data:long

The numeric value of this symbol.

Method Detail

getArgumentsAndReturnSizesback to summary
pack-priv int getArgumentsAndReturnSizes()

Returns the result Type#getArgumentsAndReturnSizes on value.

Returns:int

the result 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.