Class NewPrimitiveArrayInstruction


  • public class NewPrimitiveArrayInstruction
    extends Instruction
    Represents the NEWARRAY instruction (0xBC).
    • Constructor Detail

      • NewPrimitiveArrayInstruction

        public NewPrimitiveArrayInstruction​(int opcode,
                                            int offset,
                                            int typeCode,
                                            int count)
        Constructs a NewPrimitiveArrayInstruction.
        Parameters:
        opcode - The opcode of the instruction.
        offset - The bytecode offset of the instruction.
        typeCode - The type code of the array elements.
        count - The number of elements in the array.
        Throws:
        IllegalArgumentException - if the opcode is not NEWARRAY (0xBC)
    • Method Detail

      • getTypeCode

        public int getTypeCode()
        Returns:
        the type code
      • getCount

        public int getCount()
        Returns:
        the count
      • write

        public void write​(DataOutputStream dos)
                   throws IOException
        Writes the NEWARRAY 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).
      • toString

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