Class LocalVariableGen

    • Constructor Detail

      • LocalVariableGen

        public LocalVariableGen​(int index,
                                String name,
                                Type type,
                                InstructionHandle start,
                                InstructionHandle end)
        Generate a local variable that with index `index'. Note that double and long variables need two indexs. Index indices have to be provided by the user.
        Parameters:
        index - index of local variable
        name - its name
        type - its type
        start - from where the instruction is valid (null means from the start)
        end - until where the instruction is valid (null means to the end)
      • LocalVariableGen

        public LocalVariableGen​(int index,
                                String name,
                                Type type,
                                InstructionHandle start,
                                InstructionHandle end,
                                int origIndex)
        Generates a local variable that with index `index'. Note that double and long variables need two indexs. Index indices have to be provided by the user.
        Parameters:
        index - index of local variable
        name - its name
        type - its type
        start - from where the instruction is valid (null means from the start)
        end - until where the instruction is valid (null means to the end)
        origIndex - index of local variable prior to any changes to index
    • Method Detail

      • getLocalVariable

        public LocalVariable getLocalVariable​(ConstantPoolGen cp)
        Gets LocalVariable object. This relies on that the instruction list has already been dumped to byte code or or that the `setPositions' methods has been called for the instruction list. Note that due to the conversion from byte code offset to InstructionHandle, it is impossible to tell the difference between a live range that ends BEFORE the last insturction of the method or a live range that ends AFTER the last instruction of the method. Hence the liveToEnd flag to differentiate between these two cases.
        Parameters:
        cp - constant pool
      • setIndex

        public void setIndex​(int index)
      • getIndex

        public int getIndex()
      • getOrigIndex

        public int getOrigIndex()
      • setLiveToEnd

        public void setLiveToEnd​(boolean live_to_end)
      • getLiveToEnd

        public boolean getLiveToEnd()
      • hashCode

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

        public boolean equals​(Object o)
        We consider to local variables to be equal, if the use the same index and are valid in the same range.
        Overrides:
        equals in class Object