Class ControlFlow.Block

java.lang.Object
javassist.bytecode.stackmap.BasicBlock
javassist.bytecode.analysis.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
    A field that can be freely used for storing extra data.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns catch clauses that will catch an exception thrown in this block.
    exit(int n)
    Returns the n-th block that may be executed after this block.
    int
    Return the number of the blocks that may be executed after this block.
    incoming(int n)
    Returns the block that the control may jump into this block from.
    int
    Returns the number of the control paths entering this block.
    int
    Returns the position of this block in the array of basic blocks that the basicBlocks method returns.
    int
    Returns the length of this block.
    int
    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 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.
  • Method Details

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