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 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
FieldsModifier and TypeFieldDescriptionA field that can be freely used for storing extra data. -
Method Summary
Modifier and TypeMethodDescriptioncatchers()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.intexits()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.intReturns the number of the control paths entering this block.intindex()Returns the position of this block in the array of basic blocks that thebasicBlocksmethod returns.intlength()Returns the length of this block.intposition()Returns the position of the first instruction in this block.Methods inherited from class javassist.bytecode.stackmap.BasicBlock
find, toString
-
Field Details
-
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 aBlockobject. 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 thebasicBlocksmethod 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
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
Returns the n-th block that may be executed after this block.- Parameters:
n- an index in the array of exit blocks.
-
catchers
Returns catch clauses that will catch an exception thrown in this block.
-