Class MethodHandleEntry

  • All Implemented Interfaces:
    VisitAcceptor

    public class MethodHandleEntry
    extends Entry
    MethodHandle u1 tag u1 reference_kind u2 reference_index
    • Field Detail

      • _reference_kind

        private int _reference_kind
      • _reference_index

        private int _reference_index
    • Constructor Detail

      • MethodHandleEntry

        public MethodHandleEntry()
      • MethodHandleEntry

        public MethodHandleEntry​(int _reference_kind,
                                 int _reference_index)
    • Method Detail

      • acceptVisit

        public void acceptVisit​(BCVisitor visitor)
        Description copied from interface: VisitAcceptor
        Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
      • getType

        public int getType()
        Description copied from class: Entry
        Return the type code for this entry type.
        Specified by:
        getType in class Entry
      • readData

        void readData​(java.io.DataInput in)
               throws java.io.IOException
        Description copied from class: Entry
        This method is called after reading the entry type from bytecode. It should read all the data for this entry from the given stream.
        Specified by:
        readData in class Entry
        Throws:
        java.io.IOException
      • writeData

        void writeData​(java.io.DataOutput out)
                throws java.io.IOException
        Description copied from class: Entry
        This method is called after writing the entry type to bytecode. It should write all data for this entry to the given stream.
        Specified by:
        writeData in class Entry
        Throws:
        java.io.IOException
      • getReferenceKind

        public int getReferenceKind()
      • setReferenceKind

        public void setReferenceKind​(int referenceKind)
                              throws java.lang.IllegalArgumentException
        Throws:
        java.lang.IllegalArgumentException
      • getReference

        public Entry getReference()
        The Entry Type depends on both the reference kind and the Class Version (CV). 1 (REF_getField), 2 (REF_getStatic), 3 (REF_putField), or 4 (REF_putStatic) - CONSTANT_Fieldref_info 5 (REF_invokeVirtual) or 8 (REF_newInvokeSpecial) - CONSTANT_Methodref_info 6 (REF_invokeStatic) or 7 (REF_invokeSpecial) - If CV < 52: CONSTANT_Methodref_info - if CV >= 52: CONSTANT_Methodref_info or CONSTANT_InterfaceMethodref_info 9 (REF_invokeInterface) - CONSTANT_InterfaceMethodref_info
        Returns:
      • setReference

        public void setReference​(int referenceIndex)