Jode 1.90-CVS
Build Aug 6, 2004

net.sf.jode.flow
Class BreakBlock

java.lang.Object
  extended bynet.sf.jode.flow.StructuredBlock
      extended bynet.sf.jode.flow.BreakBlock

public class BreakBlock
extends StructuredBlock


Constructor Summary
BreakBlock(BreakableBlock breaksBlock, boolean needsLabel)
           
 
Method Summary
 void checkConsistent()
           
 void dumpInstruction(TabbedPrintWriter writer)
          Print the instruction expressing this structured block.
 StructuredBlock getNextBlock()
          Returns the block where the control will normally flow to, when this block is finished.
 FlowBlock getNextFlowBlock()
          Returns the flow block where the control will normally flow to, when this block is finished (not ignoring the jump after this block).
 boolean isEmpty()
          Tells if this block is empty and only changes control flow.
 boolean jumpMayBeChanged()
           
 VariableStack mapStackToLocal(VariableStack stack)
          This is called after the analysis is completely done.
 boolean needsBraces()
          Tells if this block needs braces when used in a if or while block.
 
Methods inherited from class net.sf.jode.flow.StructuredBlock
appendBlock, contains, copyJump, doTransformations, dumpSource, fillInGenSet, flowMayBeChanged, getDeclarables, getNextBlock, getNextFlowBlock, getSubBlocks, isSingleExit, makeDeclaration, moveJump, prependBlock, propagateUsage, removeBlock, removeJump, removeOnetimeLocals, removePush, replace, replaceSubBlock, setFlowBlock, setJump, setSuccessors, simplify, swapJump, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BreakBlock

public BreakBlock(BreakableBlock breaksBlock,
                  boolean needsLabel)
Method Detail

checkConsistent

public void checkConsistent()
Overrides:
checkConsistent in class StructuredBlock

isEmpty

public boolean isEmpty()
Tells if this block is empty and only changes control flow.

Overrides:
isEmpty in class StructuredBlock

getNextBlock

public StructuredBlock getNextBlock()
Returns the block where the control will normally flow to, when this block is finished.

Overrides:
getNextBlock in class StructuredBlock

getNextFlowBlock

public FlowBlock getNextFlowBlock()
Returns the flow block where the control will normally flow to, when this block is finished (not ignoring the jump after this block).

Overrides:
getNextFlowBlock in class StructuredBlock
Returns:
null, if the control flows into a non empty structured block or if this is the outermost block.

mapStackToLocal

public VariableStack mapStackToLocal(VariableStack stack)
This is called after the analysis is completely done. It will remove all PUSH/stack_i expressions, (if the bytecode is correct).

Overrides:
mapStackToLocal in class StructuredBlock
Parameters:
stack - the stackmap at begin of the block
Returns:
null since the stack has no successor.

needsBraces

public boolean needsBraces()
Tells if this block needs braces when used in a if or while block.

Overrides:
needsBraces in class StructuredBlock
Returns:
true if this block should be sorrounded by braces.

dumpInstruction

public void dumpInstruction(TabbedPrintWriter writer)
                     throws java.io.IOException
Description copied from class: StructuredBlock
Print the instruction expressing this structured block.

Specified by:
dumpInstruction in class StructuredBlock
Parameters:
writer - The tabbed print writer, where we print to.
Throws:
java.io.IOException

jumpMayBeChanged

public boolean jumpMayBeChanged()
Overrides:
jumpMayBeChanged in class StructuredBlock

Jode 1.90-CVS
Build Aug 6, 2004

Copyright © 1998-2004 by Jochen Hoenicke.