Package javassist.bytecode.analysis
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 allowJSR
, we deal withJSR
as a non-branch instruction.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javassist.bytecode.stackmap.BasicBlock
BasicBlock.Catch, BasicBlock.Maker
-
-
Field Summary
Fields Modifier and Type Field Description 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 thebasicBlocks
method returns.int
length()
Returns the length of this block.int
position()
Returns the position of the first instruction in this block.protected void
toString2(StringBuffer sbuf)
-
Methods inherited from class javassist.bytecode.stackmap.BasicBlock
find, toString
-
-
-
-
Field Detail
-
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 aBlock
object. The Javassist library never accesses this field.
-
-
Method Detail
-
toString2
protected void toString2(StringBuffer sbuf)
- Overrides:
toString2
in classBasicBlock
-
index
public int index()
Returns the position of this block in the array of basic blocks that thebasicBlocks
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.
-
-