Class ConstantPool
- java.lang.Object
-
- org.apache.tomcat.util.bcel.classfile.ConstantPool
-
public class ConstantPool extends java.lang.Object
This class represents the constant pool, i.e., a table of constants, of a parsed classfile. It may contain null references, due to the JVM specification that skips an entry after an 8-byte constant (double, long) entry. Those interested in generating constant pools programmatically should see ConstantPoolGen.- See Also:
Constant
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends Constant>
TgetConstant(int index)
Gets constant from constant pool.<T extends Constant>
TgetConstant(int index, byte tag)
Gets constant from constant pool and check whether it has the expected type.<T extends Constant>
TgetConstant(int index, java.lang.Class<T> castTo)
Gets constant from constant pool.ConstantInteger
getConstantInteger(int index)
Gets constant from constant pool and check whether it has the expected type.ConstantUtf8
getConstantUtf8(int index)
Gets constant from constant pool and check whether it has the expected type.
-
-
-
Method Detail
-
getConstant
public <T extends Constant> T getConstant(int index) throws ClassFormatException
Gets constant from constant pool.- Type Parameters:
T
- AConstant
subclass- Parameters:
index
- Index in constant pool- Returns:
- Constant value
- Throws:
ClassFormatException
- if index is invalid- See Also:
Constant
-
getConstant
public <T extends Constant> T getConstant(int index, byte tag) throws ClassFormatException
Gets constant from constant pool and check whether it has the expected type.- Type Parameters:
T
- AConstant
subclass- Parameters:
index
- Index in constant pooltag
- Tag of expected constant, i.e., its type- Returns:
- Constant value
- Throws:
ClassFormatException
- if constant type does not match tag- See Also:
Constant
-
getConstant
public <T extends Constant> T getConstant(int index, java.lang.Class<T> castTo) throws ClassFormatException
Gets constant from constant pool.- Type Parameters:
T
- AConstant
subclass- Parameters:
index
- Index in constant poolcastTo
- TheConstant
subclass to cast to.- Returns:
- Constant value
- Throws:
ClassFormatException
- if index is invalid- See Also:
Constant
-
getConstantInteger
public ConstantInteger getConstantInteger(int index)
Gets constant from constant pool and check whether it has the expected type.- Parameters:
index
- Index in constant pool- Returns:
- ConstantInteger value
- Throws:
ClassFormatException
- if constant type does not match tag- See Also:
ConstantInteger
-
getConstantUtf8
public ConstantUtf8 getConstantUtf8(int index) throws ClassFormatException
Gets constant from constant pool and check whether it has the expected type.- Parameters:
index
- Index in constant pool- Returns:
- ConstantUtf8 value
- Throws:
ClassFormatException
- if constant type does not match tag- See Also:
ConstantUtf8
-
-