Class ControlFlow.Block

java.lang.Object
javassist.bytecode.stackmap.BasicBlock
javassist.bytecode.analysis.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 Details

    • clientData

      public 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
    • method

      MethodInfo method
    • entrances

      ControlFlow.Block[] entrances
  • Constructor Details

  • Method Details

    • toString2

      protected void toString2(StringBuilder sbuf)
      Overrides:
      toString2 in class BasicBlock
    • getExit

      BasicBlock[] getExit()
    • index

      public int index()
      Returns the position of this block in the array of basic blocks that the basicBlocks method returns.
      See Also:
    • 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.