Class Select

    • Field Detail

      • match

        @Deprecated
        protected int[] match
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • indices

        @Deprecated
        protected int[] indices
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • targets

        @Deprecated
        protected InstructionHandle[] targets
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • fixed_length

        @Deprecated
        protected int fixed_length
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • match_length

        @Deprecated
        protected int match_length
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
      • padding

        @Deprecated
        protected int padding
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
    • Method Detail

      • updatePosition

        protected int updatePosition​(int offset,
                                     int max_offset)
        Since this is a variable length instruction, it may shift the following instructions which then need to update their position. Called by InstructionList.setPositions when setting the position for every instruction. In the presence of variable length instructions `setPositions' performs multiple passes over the instruction list to calculate the correct (byte) positions and offsets by calling this function.
        Overrides:
        updatePosition in class BranchInstruction
        Parameters:
        offset - additional offset caused by preceding (variable length) instructions
        max_offset - the maximum offset that may be caused by these instructions
        Returns:
        additional offset caused by possible change of this instruction's length
      • dump

        public void dump​(java.io.DataOutputStream out)
                  throws java.io.IOException
        Dump instruction as byte code to stream out.
        Overrides:
        dump in class BranchInstruction
        Parameters:
        out - Output stream
        Throws:
        java.io.IOException
      • initFromFile

        protected void initFromFile​(ByteSequence bytes,
                                    boolean wide)
                             throws java.io.IOException
        Read needed data (e.g. index) from file.
        Overrides:
        initFromFile in class BranchInstruction
        Parameters:
        bytes - input stream
        wide - wide prefix?
        Throws:
        java.io.IOException - may be thrown if the implementation needs to read data from the file
        See Also:
        InstructionList
      • toString

        public java.lang.String toString​(boolean verbose)
        Description copied from class: BranchInstruction
        Long output format: <position in byte code> <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"<target instruction>">" "@"<branch target offset>
        Overrides:
        toString in class BranchInstruction
        Parameters:
        verbose - long/short format switch
        Returns:
        mnemonic for instruction
      • setTarget

        public void setTarget​(int i,
                              InstructionHandle target)
        Set branch target for `i'th case
      • clone

        protected java.lang.Object clone()
                                  throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException
      • getMatchs

        public int[] getMatchs()
        Returns:
        array of match indices
      • getIndices

        public int[] getIndices()
        Returns:
        array of match target offsets
      • getTargets

        public InstructionHandle[] getTargets()
        Returns:
        array of match targets