Class BootstrapMethodsAttribute


  • public class BootstrapMethodsAttribute
    extends Attribute
    The BootstrapMethods attribute: bootstrap method entries for invokedynamic call sites.
    • Constructor Detail

      • BootstrapMethodsAttribute

        public BootstrapMethodsAttribute​(String name,
                                         MemberEntry parent,
                                         int nameIndex,
                                         int length)
        Creates the attribute shell for parsing, attached to a member.
        Parameters:
        name - the attribute name
        parent - the member the attribute belongs to
        nameIndex - constant-pool index of the name Utf8
        length - the attribute length in bytes
      • BootstrapMethodsAttribute

        public BootstrapMethodsAttribute​(String name,
                                         ClassFile parent,
                                         int nameIndex,
                                         int length)
        Creates the attribute shell for parsing, attached to a class.
        Parameters:
        name - the attribute name
        parent - the class the attribute belongs to
        nameIndex - constant-pool index of the name Utf8
        length - the attribute length in bytes
      • BootstrapMethodsAttribute

        public BootstrapMethodsAttribute​(ConstPool constPool)
        Constructor for programmatic creation of a BootstrapMethods attribute.
        Parameters:
        constPool - The constant pool to use for creating the attribute name.
    • Method Detail

      • getBootstrapMethods

        public List<BootstrapMethod> getBootstrapMethods()
        Returns:
        the bootstrap methods
      • addBootstrapMethod

        public void addBootstrapMethod​(int methodHandleIndex,
                                       List<Integer> arguments)
        Adds a bootstrap method entry.
        Parameters:
        methodHandleIndex - The constant pool index of the method handle.
        arguments - The list of constant pool indices for the bootstrap arguments.
      • read

        public void read​(ClassFile classFile,
                         int length)
        Description copied from class: Attribute
        Reads the attribute data from the class file.
        Specified by:
        read in class Attribute
        Parameters:
        classFile - The ClassFile utility to read data.
        length - The length of the attribute.
      • updateLength

        public void updateLength()
        Description copied from class: Attribute
        Recomputes the attribute length field from the current in-memory content.
        Specified by:
        updateLength in class Attribute