Class ControlFlow.Block

  • Enclosing class:
    ControlFlow

    public static class ControlFlow.Block
    extends BasicBlock
    Basic block. It is a sequence of contiguous instructions that do not contain jump/branch instructions except the last one. Since Java6 or later does not allow JSR, we deal with JSR as a non-branch instruction.
    • Field Detail

      • clientData

        public java.lang.Object clientData
        A field that can be freely used for storing extra data. A client program of this control-flow analyzer can append an additional attribute to a Block object. The Javassist library never accesses this field.
      • index

        int index
    • Constructor Detail

    • Method Detail

      • toString2

        protected void toString2​(java.lang.StringBuilder sbuf)
        Overrides:
        toString2 in class BasicBlock
      • index

        public int index()
        Returns the position of this block in the array of basic blocks that the basicBlocks method returns.
        See Also:
        ControlFlow.basicBlocks()
      • position

        public int position()
        Returns the position of the first instruction in this block.
      • length

        public int length()
        Returns the length of this block.
      • incomings

        public int incomings()
        Returns the number of the control paths entering this block.
      • incoming

        public ControlFlow.Block incoming​(int n)
        Returns the block that the control may jump into this block from.
      • exits

        public int exits()
        Return the number of the blocks that may be executed after this block.
      • exit

        public ControlFlow.Block exit​(int n)
        Returns the n-th block that may be executed after this block.
        Parameters:
        n - an index in the array of exit blocks.
      • catchers

        public ControlFlow.Catcher[] catchers()
        Returns catch clauses that will catch an exception thrown in this block.