final class Item
extends java.lang.Object
ClassWriter
class.Modifier and Type | Field and Description |
---|---|
(package private) int |
hashCode
The hash code value of this constant pool item.
|
(package private) int |
index
Index of this item in the constant pool.
|
(package private) int |
intVal
Value of this item, for an integer item.
|
(package private) long |
longVal
Value of this item, for a long item.
|
(package private) Item |
next
Link to another constant pool item, used for collision lists in the
constant pool's hash table.
|
(package private) java.lang.String |
strVal1
First part of the value of this item, for items that do not hold a
primitive value.
|
(package private) java.lang.String |
strVal2
Second part of the value of this item, for items that do not hold a
primitive value.
|
(package private) java.lang.String |
strVal3
Third part of the value of this item, for items that do not hold a
primitive value.
|
(package private) int |
type
Type of this constant pool item.
|
Constructor and Description |
---|
Item()
Constructs an uninitialized
Item . |
Item(int index)
Constructs an uninitialized
Item for constant pool element at
given position. |
Item(int index,
Item i)
Constructs a copy of the given item.
|
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
isEqualTo(Item i)
Indicates if the given item is equal to this one.
|
(package private) void |
set(double doubleVal)
Sets this item to a double item.
|
(package private) void |
set(float floatVal)
Sets this item to a float item.
|
(package private) void |
set(int intVal)
Sets this item to an integer item.
|
(package private) void |
set(int position,
int hashCode)
Sets the item to a BootstrapMethod item.
|
(package private) void |
set(int type,
java.lang.String strVal1,
java.lang.String strVal2,
java.lang.String strVal3)
Sets this item to an item that do not hold a primitive value.
|
(package private) void |
set(long longVal)
Sets this item to a long item.
|
(package private) void |
set(java.lang.String name,
java.lang.String desc,
int bsmIndex)
Sets the item to an InvokeDynamic item.
|
int index
int type
ClassWriter.INT
,
ClassWriter.LONG
, ClassWriter.FLOAT
,
ClassWriter.DOUBLE
, ClassWriter.UTF8
,
ClassWriter.STR
, ClassWriter.CLASS
,
ClassWriter.NAME_TYPE
, ClassWriter.FIELD
,
ClassWriter.METH
, ClassWriter.IMETH
,
ClassWriter.MODULE
, ClassWriter.PACKAGE
,
ClassWriter.MTYPE
, ClassWriter.INDY
.
MethodHandle constant 9 variations are stored using a range of 9 values
from ClassWriter.HANDLE_BASE
+ 1 to
ClassWriter.HANDLE_BASE
+ 9.
Special Item types are used for Items that are stored in the ClassWriter
ClassWriter.typeTable
, instead of the constant pool, in order to
avoid clashes with normal constant pool items in the ClassWriter constant
pool's hash table. These special item types are
ClassWriter.TYPE_NORMAL
, ClassWriter.TYPE_UNINIT
and
ClassWriter.TYPE_MERGED
.int intVal
long longVal
java.lang.String strVal1
java.lang.String strVal2
java.lang.String strVal3
int hashCode
Item next
Item()
Item
.Item(int index)
Item
for constant pool element at
given position.index
- index of the item to be constructed.Item(int index, Item i)
index
- index of the item to be constructed.i
- the item that must be copied into the item to be constructed.void set(int intVal)
intVal
- the value of this item.void set(long longVal)
longVal
- the value of this item.void set(float floatVal)
floatVal
- the value of this item.void set(double doubleVal)
doubleVal
- the value of this item.void set(int type, java.lang.String strVal1, java.lang.String strVal2, java.lang.String strVal3)
type
- the type of this item.strVal1
- first part of the value of this item.strVal2
- second part of the value of this item.strVal3
- third part of the value of this item.void set(java.lang.String name, java.lang.String desc, int bsmIndex)
name
- invokedynamic's name.desc
- invokedynamic's desc.bsmIndex
- zero based index into the class attribute BootrapMethods.void set(int position, int hashCode)
position
- position in byte in the class attribute BootrapMethods.hashCode
- hashcode of the item. This hashcode is processed from the
hashcode of the bootstrap method and the hashcode of all
bootstrap arguments.boolean isEqualTo(Item i)
type
.i
- the item to be compared to this one. Both items must have the
same type
.