Class InvokeDynamicConstant

All Implemented Interfaces:
Serializable, Processable

public class InvokeDynamicConstant extends Constant
This Constant represents an invoke dynamic constant in the constant pool.
See Also:
  • Field Details

    • 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 ClassReferenceInitializer. References to primitive types are ignored.
  • Constructor Details

    • InvokeDynamicConstant

      public InvokeDynamicConstant()
      Creates an uninitialized InvokeDynamicConstant.
    • InvokeDynamicConstant

      public InvokeDynamicConstant(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 Details

    • 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 String getName(Clazz clazz)
      Returns the method name.
    • getType

      public 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.
      Specified by:
      getTag in class Constant
    • 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 class Constant
    • accept

      public void accept(Clazz clazz, ConstantVisitor constantVisitor)
      Description copied from class: Constant
      Accepts the given visitor.
      Specified by:
      accept in class Constant
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object