javassist.bytecode.stackmap
Class BasicBlock

java.lang.Object
  extended by javassist.bytecode.stackmap.BasicBlock
Direct Known Subclasses:
ControlFlow.Block, TypedBlock

public class BasicBlock
extends java.lang.Object

A basic block is a sequence of bytecode that does not contain jump/branch instructions except at the last bytecode. Since Java6 or later does not allow JSR, this class deals with JSR as a non-branch instruction.


Nested Class Summary
static class BasicBlock.Catch
           
static class BasicBlock.Maker
           
 
Field Summary
protected  BasicBlock[] exit
           
protected  int incoming
           
protected  int length
           
protected  int position
           
protected  boolean stop
           
protected  BasicBlock.Catch toCatch
           
 
Constructor Summary
protected BasicBlock(int pos)
           
 
Method Summary
static BasicBlock find(BasicBlock[] blocks, int pos)
           
 java.lang.String toString()
           
protected  void toString2(java.lang.StringBuffer sbuf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

position

protected int position

length

protected int length

incoming

protected int incoming

exit

protected BasicBlock[] exit

stop

protected boolean stop

toCatch

protected BasicBlock.Catch toCatch
Constructor Detail

BasicBlock

protected BasicBlock(int pos)
Method Detail

find

public static BasicBlock find(BasicBlock[] blocks,
                              int pos)
                       throws BadBytecode
Throws:
BadBytecode

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString2

protected void toString2(java.lang.StringBuffer sbuf)


Copyright © 2012. All Rights Reserved.