Class INVOKEDYNAMIC

    • Constructor Detail

      • INVOKEDYNAMIC

        public INVOKEDYNAMIC​(int index)
    • Method Detail

      • dump

        public void dump​(java.io.DataOutputStream out)
                  throws java.io.IOException
        Dump instruction as byte code to stream out.
        Overrides:
        dump in class CPInstruction
        Parameters:
        out - Output stream
        Throws:
        java.io.IOException
      • initFromFile

        protected void initFromFile​(ByteSequence bytes,
                                    boolean wide)
                             throws java.io.IOException
        Read needed data (i.e., index) from file.
        Overrides:
        initFromFile in class CPInstruction
        Parameters:
        bytes - input stream
        wide - wide prefix?
        Throws:
        java.io.IOException - may be thrown if the implementation needs to read data from the file
      • getExceptions

        public java.lang.Class<?>[] getExceptions()
      • accept

        public void accept​(Visitor v)
        Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
        Specified by:
        accept in class Instruction
        Parameters:
        v - Visitor object
      • getClassName

        public java.lang.String getClassName​(ConstantPoolGen cpg)
        Override the parent method because our classname is held elsewhere.
        Overrides:
        getClassName in class InvokeInstruction
        Returns:
        name of the referenced class/interface
      • getReferenceType

        public ReferenceType getReferenceType​(ConstantPoolGen cpg)
        Since InvokeDynamic doesn't refer to a reference type, just return java.lang.Object, as that is the only type we can say for sure the reference will be.
        Overrides:
        getReferenceType in class FieldOrMethod
        Parameters:
        cpg - the ConstantPoolGen used to create the instruction
        Returns:
        an ObjectType for java.lang.Object
        Since:
        6.1