Class ANewArrayInstruction


  • public class ANewArrayInstruction
    extends Instruction
    Represents the ANEWARRAY instruction (0xBD).
    • Constructor Detail

      • ANewArrayInstruction

        public ANewArrayInstruction​(ConstPool constPool,
                                    int opcode,
                                    int offset,
                                    int classIndex,
                                    int count)
        Constructs an ANewArrayInstruction.
        Parameters:
        constPool - The constant pool associated with the class.
        opcode - The opcode of the instruction.
        offset - The bytecode offset of the instruction.
        classIndex - The constant pool index for the class reference.
        count - The array element count carried by this instruction.
    • Method Detail

      • write

        public void write​(DataOutputStream dos)
                   throws IOException
        Writes the ANEWARRAY opcode and its operand to the DataOutputStream.
        Specified by:
        write in class Instruction
        Parameters:
        dos - The DataOutputStream to write to.
        Throws:
        IOException - If an I/O error occurs.
      • getStackChange

        public int getStackChange()
        Returns the change in stack size caused by this instruction.
        Specified by:
        getStackChange in class Instruction
        Returns:
        The stack size change: pops the element count and pushes the array reference (net 0).
      • getLocalChange

        public int getLocalChange()
        Returns the change in local variables caused by this instruction.
        Specified by:
        getLocalChange in class Instruction
        Returns:
        The local variables size change (none).
      • getClassIndex

        public int getClassIndex()
        Returns the class index used by this instruction.
        Returns:
        The constant pool index for the class reference.
      • getCount

        public int getCount()
        Returns the count of array elements.
        Returns:
        The number of elements in the array.
      • resolveClass

        public String resolveClass()
        Resolves and returns a string representation of the class.
        Returns:
        The class as a string.
      • toString

        public String toString()
        Returns a string representation of the instruction.
        Overrides:
        toString in class Instruction
        Returns:
        The mnemonic, class index, and resolved class.