Package proguard.classfile.constant
Class DynamicConstant
- java.lang.Object
-
- proguard.util.SimpleProcessable
-
- proguard.classfile.constant.Constant
-
- proguard.classfile.constant.DynamicConstant
-
- All Implemented Interfaces:
java.io.Serializable
,Processable
public class DynamicConstant extends Constant
ThisConstant
represents a dynamic constant in the constant pool.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Clazz[]
referencedClasses
An extra field pointing to the Clazz objects referenced in the descriptor string.int
u2bootstrapMethodAttributeIndex
int
u2nameAndTypeIndex
-
Fields inherited from class proguard.classfile.constant.Constant
CLASS, DOUBLE, DYNAMIC, FIELDREF, FLOAT, INTEGER, INTERFACE_METHODREF, INVOKE_DYNAMIC, LONG, METHOD_HANDLE, METHOD_TYPE, METHODREF, MODULE, NAME_AND_TYPE, PACKAGE, PRIMITIVE_ARRAY, STRING, UTF8
-
Fields inherited from class proguard.util.SimpleProcessable
processingFlags, processingInfo
-
-
Constructor Summary
Constructors Constructor Description DynamicConstant()
Creates an uninitialized InvokeDynamicConstant.DynamicConstant(int u2bootstrapMethodAttributeIndex, int u2nameAndTypeIndex, Clazz[] referencedClasses)
Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Clazz clazz, ConstantVisitor constantVisitor)
Accepts the given visitor.void
bootstrapMethodHandleAccept(Clazz clazz, ConstantVisitor constantVisitor)
Lets the bootstrap method handle constant accept the given visitor.boolean
equals(java.lang.Object object)
int
getBootstrapMethodAttributeIndex()
Returns the index of the bootstrap method in the bootstrap methods attribute of the class.java.lang.String
getName(Clazz clazz)
Returns the method name.int
getNameAndTypeIndex()
Returns the name-and-type index.int
getTag()
Returns the constant pool info tag that specifies the entry type.java.lang.String
getType(Clazz clazz)
Returns the method type.int
hashCode()
boolean
isCategory2()
Returns whether the constant is of category 2.void
referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string accept the given visitor.java.lang.String
toString()
-
Methods inherited from class proguard.util.SimpleProcessable
addProcessingFlags, getProcessingFlags, getProcessingInfo, hasProcessingFlags, removeProcessingFlags, setProcessingFlags, setProcessingInfo
-
-
-
-
Field Detail
-
u2bootstrapMethodAttributeIndex
public int u2bootstrapMethodAttributeIndex
-
u2nameAndTypeIndex
public int u2nameAndTypeIndex
-
referencedClasses
public Clazz[] referencedClasses
An extra field pointing to the Clazz objects referenced in the descriptor string. This field is filled out by the
. References to primitive types are ignored.ClassReferenceInitializer
-
-
Constructor Detail
-
DynamicConstant
public DynamicConstant()
Creates an uninitialized InvokeDynamicConstant.
-
DynamicConstant
public DynamicConstant(int u2bootstrapMethodAttributeIndex, int u2nameAndTypeIndex, Clazz[] referencedClasses)
Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.- Parameters:
u2bootstrapMethodAttributeIndex
- the index of the bootstrap method entry in the bootstrap methods attribute.u2nameAndTypeIndex
- the index of the name and type entry in the constant pool.referencedClasses
- the classes referenced by the type.
-
-
Method Detail
-
getBootstrapMethodAttributeIndex
public int getBootstrapMethodAttributeIndex()
Returns the index of the bootstrap method in the bootstrap methods attribute of the class.
-
getNameAndTypeIndex
public int getNameAndTypeIndex()
Returns the name-and-type index.
-
getName
public java.lang.String getName(Clazz clazz)
Returns the method name.
-
getType
public java.lang.String getType(Clazz clazz)
Returns the method type.
-
referencedClassesAccept
public void referencedClassesAccept(ClassVisitor classVisitor)
Lets the Clazz objects referenced in the descriptor string accept the given visitor.
-
bootstrapMethodHandleAccept
public void bootstrapMethodHandleAccept(Clazz clazz, ConstantVisitor constantVisitor)
Lets the bootstrap method handle constant accept the given visitor.
-
getTag
public int getTag()
Description copied from class:Constant
Returns the constant pool info tag that specifies the entry type.
-
isCategory2
public boolean isCategory2()
Description copied from class:Constant
Returns whether the constant is of category 2. This means that it takes up the space of two category 1 types in the constant pool or on the stack, for instance.- Specified by:
isCategory2
in classConstant
-
accept
public void accept(Clazz clazz, ConstantVisitor constantVisitor)
Description copied from class:Constant
Accepts the given visitor.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-