org.jtool.jxplatform.graph.cfg
Class CFGBreakContinue

java.lang.Object
  extended byorg.jtool.jxplatform.graph.GraphNode
      extended byorg.jtool.jxplatform.graph.cfg.CFGNode
          extended byorg.jtool.jxplatform.graph.cfg.CFGStatement
              extended byorg.jtool.jxplatform.graph.cfg.CFGBranch
                  extended byorg.jtool.jxplatform.graph.cfg.CFGBreakContinue
All Implemented Interfaces:
GraphElement, GraphNodeSort

public class CFGBreakContinue
extends CFGBranch

A break or continue node of CFGs.

Author:
Katsuhsa Maruyama

Field Summary
 
Fields inherited from class org.jtool.jxplatform.graph.cfg.CFGStatement
defs, uses
 
Fields inherited from class org.jtool.jxplatform.graph.cfg.CFGNode
defid, element
 
Fields inherited from class org.jtool.jxplatform.graph.GraphNode
id, nodeNum, sort
 
Fields inherited from interface org.jtool.jxplatform.graph.GraphNodeSort
actualIn, actualOut, assignments, assignmentSt, branches, breakSt, callings, caseLabel, classEntry, classExit, constructorCall, constructorEntry, constructorExit, continueSt, defaultLabel, doSt, entries, exits, fieldDecl, formalIn, formalOut, forSt, ifSt, ignores, instanceCreation, interfaceEntry, interfaceExit, labelSt, localDecl, mergeSt, methodCall, methodEntry, methodExit, newSt, parameters, polymorphicCall, returnSt, switchSt, synchronizedSt, throwSt, trySt, whileSt
 
Constructor Summary
protected CFGBreakContinue()
          Creates a new, empty object.
protected CFGBreakContinue(int sort, org.w3c.dom.Element elem)
          Creates a new node.
protected CFGBreakContinue(int sort, org.w3c.dom.Element elem, java.lang.String label, CFGNode target)
          Creates a new node.
 
Method Summary
 java.lang.String getLabel()
          Returns the label of the break or continue statement.
 CFGNode getTargetNode()
          Returns the target node of the flow outgoing from the break or continue statement.
 void print(java.lang.StringBuffer buf)
          Collects information about this statement for printing.
 
Methods inherited from class org.jtool.jxplatform.graph.cfg.CFGStatement
addDefinedVariable, addDefinedVariables, addDefinedVariables, addUsedVariable, addUsedVariables, addUsedVariables, clearDefinedVariable, clearUsedVariable, definesVariable, getDefinedVariable, getDefinedVariables, getUsedVariable, getUsedVariables, isStatement, printDefUse, removeDefinedVariable, removeUsedVariable, setDefinedVariable, setDefinedVariables, setUsedVariable, setUsedVariables, usesVariable
 
Methods inherited from class org.jtool.jxplatform.graph.cfg.CFGNode
equals, getDefId, getElem, getPredecessors, getPredecessorsNumber, getSuccessors, getSuccessorsNumber, hasDefVariable, hasUseVariable, isAssignmentSt, isBranch, isBranchSt, isBreakSt, isCallSt, isContinueSt, isDoSt, isEntrySt, isExitSt, isFieldSt, isFormalInSt, isFormalOutSt, isFormalSt, isForSt, isGeneralAssignmentSt, isGeneralStatement, isIfSt, isIgnoredSt, isJoin, isLabelSt, isLocalSt, isLoopSt, isMergeSt, isMethodEntry, isParameterSt, isReturnSt, isSwitchLabel, isSwitchSt, isWhileSt, print, print, write
 
Methods inherited from class org.jtool.jxplatform.graph.GraphNode
addIncomingEdge, addIncomingEdges, addOutgoingEdge, addOutgoingEdges, clear, clearId, clearIncomingEdges, clearOutgoingEdges, getDstNodes, getId, getIncomingEdges, getOutgoingEdges, getSort, getSrcNodes, removeIncomingEdge, removeOutgoingEdge, setDstNodes, setIncomingEdges, setOutgoingEdges, setSort, setSrcNodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CFGBreakContinue

protected CFGBreakContinue()
Creates a new, empty object.


CFGBreakContinue

protected CFGBreakContinue(int sort,
                           org.w3c.dom.Element elem)
Creates a new node.

Parameters:
sort - The sort of this node.
elem - A DOM element corresponding to this node.

CFGBreakContinue

protected CFGBreakContinue(int sort,
                           org.w3c.dom.Element elem,
                           java.lang.String label,
                           CFGNode target)
Creates a new node.

Parameters:
sort - The sort of this node.
elem - A DOM element corresponding to this node.
label - A label attached to this node.
target - A target node of the flow outgoing from this node.
Method Detail

getLabel

public java.lang.String getLabel()
Returns the label of the break or continue statement.

Returns:
The label.

getTargetNode

public CFGNode getTargetNode()
Returns the target node of the flow outgoing from the break or continue statement.

Returns:
The target node.

print

public void print(java.lang.StringBuffer buf)
Collects information about this statement for printing.

Overrides:
print in class CFGBranch
Parameters:
buf - The information about the stetement.