Class ControlFlow.Block

  • Enclosing class:
    ControlFlow

    public static class ControlFlow.Block
    extends javassist.bytecode.stackmap.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.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javassist.bytecode.stackmap.BasicBlock

        javassist.bytecode.stackmap.BasicBlock.Catch, javassist.bytecode.stackmap.BasicBlock.Maker
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.lang.Object clientData
      A field that can be freely used for storing extra data.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ControlFlow.Catcher[] catchers()
      Returns catch clauses that will catch an exception thrown in this block.
      ControlFlow.Block exit​(int n)
      Returns the n-th block that may be executed after this block.
      int exits()
      Return the number of the blocks that may be executed after this block.
      ControlFlow.Block incoming​(int n)
      Returns the block that the control may jump into this block from.
      int incomings()
      Returns the number of the control paths entering this block.
      int index()
      Returns the position of this block in the array of basic blocks that the basicBlocks method returns.
      int length()
      Returns the length of this block.
      int position()
      Returns the position of the first instruction in this block.
      • Methods inherited from class javassist.bytecode.stackmap.BasicBlock

        find, toString
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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.
    • Method Detail

      • 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.