Class CompareInstruction


  • public class CompareInstruction
    extends Instruction
    Represents the compare instructions (LCMP, FCMPL, FCMPG, DCMPL, DCMPG).
    • Constructor Detail

      • CompareInstruction

        public CompareInstruction​(int opcode,
                                  int offset)
        Constructs a CompareInstruction.
        Parameters:
        opcode - The opcode of the instruction.
        offset - The bytecode offset of the instruction.
        Throws:
        IllegalArgumentException - if the opcode is not a compare opcode
    • Method Detail

      • 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 two values, pushes one int).
      • 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 of the compare instruction.