Class NewInstruction

    • Constructor Detail

      • NewInstruction

        protected NewInstruction​(short opcode,
                                 String type,
                                 short arrayBoundsCount)
    • Method Detail

      • make

        public static NewInstruction make​(String type,
                                          int arrayBoundsCount)
                                   throws IllegalArgumentException
        Parameters:
        type - the type of the object that will be returned (in JVM format, e.g., [Ljava/lang/String;)
        arrayBoundsCount - the number of array dimensions to preconstruct (equal to the number of integer parameters this instruction expects)
        Throws:
        IllegalArgumentException - if type is null
      • getArrayBoundsCount

        public int getArrayBoundsCount()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getPushedType

        public String getPushedType​(String[] types)
        Description copied from class: Instruction
        Computes the type of data pushed onto the stack, or null if none is pushed.
        Specified by:
        getPushedType in interface IInstruction
        Overrides:
        getPushedType in class Instruction
        Parameters:
        types - the types of the data popped off the stack by this instruction; if poppedTypes is null, then we don't know the incoming stack types and the result of this method may be less accurate
      • getPushedWordSize

        public byte getPushedWordSize()
        Specified by:
        getPushedWordSize in interface IInstruction
        Overrides:
        getPushedWordSize in class Instruction
        Returns:
        the JVM word size of the value this instruction pushes onto the stack, or 0 if this instruction doesn't push anything onto the stack.
      • getType

        public String getType()
      • isPEI

        public boolean isPEI()
        Description copied from interface: IInstruction
        PEI == "Potentially excepting instruction"
        Returns:
        true iff this instruction might throw an exception