Package com.strobel.assembler.ir
Class ConstantPool
- java.lang.Object
-
- com.strobel.core.Freezable
-
- com.strobel.assembler.ir.ConstantPool
-
- All Implemented Interfaces:
IFreezable
,java.lang.Iterable<ConstantPool.Entry>
public final class ConstantPool extends Freezable implements java.lang.Iterable<ConstantPool.Entry>
-
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashMap<ConstantPool.Key,ConstantPool.Entry>
_entryMap
private ConstantPool.Key
_lookupKey
private ConstantPool.Key
_newKey
private java.util.ArrayList<ConstantPool.Entry>
_pool
private int
_size
-
Constructor Summary
Constructors Constructor Description ConstantPool()
-
Method Summary
-
Methods inherited from class com.strobel.core.Freezable
canFreeze, freeze, freezeCore, freezeIfUnfrozen, isFrozen, tryFreeze, verifyFrozen, verifyNotFrozen
-
-
-
-
Field Detail
-
_pool
private final java.util.ArrayList<ConstantPool.Entry> _pool
-
_entryMap
private final java.util.HashMap<ConstantPool.Key,ConstantPool.Entry> _entryMap
-
_lookupKey
private final ConstantPool.Key _lookupKey
-
_newKey
private final ConstantPool.Key _newKey
-
_size
private int _size
-
-
Method Detail
-
iterator
public java.util.Iterator<ConstantPool.Entry> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<ConstantPool.Entry>
-
accept
public void accept(ConstantPool.Visitor visitor)
-
write
public void write(Buffer stream)
-
getEntry
public <T extends ConstantPool.Entry> T getEntry(int index)
-
get
public ConstantPool.Entry get(int index)
-
get
public ConstantPool.Entry get(int index, ConstantPool.Tag expectedType)
-
lookupStringConstant
public java.lang.String lookupStringConstant(int index)
-
lookupUtf8Constant
public java.lang.String lookupUtf8Constant(int index)
-
lookupConstant
public <T> T lookupConstant(int index)
-
lookupIntegerConstant
public int lookupIntegerConstant(int index)
-
lookupLongConstant
public long lookupLongConstant(int index)
-
lookupFloatConstant
public float lookupFloatConstant(int index)
-
lookupDoubleConstant
public double lookupDoubleConstant(int index)
-
getUtf8StringConstant
public ConstantPool.Utf8StringConstantEntry getUtf8StringConstant(java.lang.String value)
-
getStringConstant
public ConstantPool.StringConstantEntry getStringConstant(java.lang.String value)
-
getIntegerConstant
public ConstantPool.IntegerConstantEntry getIntegerConstant(int value)
-
getFloatConstant
public ConstantPool.FloatConstantEntry getFloatConstant(float value)
-
getLongConstant
public ConstantPool.LongConstantEntry getLongConstant(long value)
-
getDoubleConstant
public ConstantPool.DoubleConstantEntry getDoubleConstant(double value)
-
getTypeInfo
public ConstantPool.TypeInfoEntry getTypeInfo(TypeReference type)
-
getFieldReference
public ConstantPool.FieldReferenceEntry getFieldReference(FieldReference field)
-
getMethodReference
public ConstantPool.MethodReferenceEntry getMethodReference(MethodReference method)
-
getInterfaceMethodReference
public ConstantPool.InterfaceMethodReferenceEntry getInterfaceMethodReference(MethodReference method)
-
getNameAndTypeDescriptor
ConstantPool.NameAndTypeDescriptorEntry getNameAndTypeDescriptor(java.lang.String name, java.lang.String typeDescriptor)
-
getMethodHandle
ConstantPool.MethodHandleEntry getMethodHandle(ConstantPool.ReferenceKind referenceKind, int referenceIndex)
-
getMethodType
ConstantPool.MethodTypeEntry getMethodType(int descriptorIndex)
-
getInvokeDynamicInfo
ConstantPool.InvokeDynamicInfoEntry getInvokeDynamicInfo(int bootstrapMethodAttributeIndex, int nameAndTypeDescriptorIndex)
-
read
public static ConstantPool read(Buffer b)
-
-