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