org.jtool.jxplatform.graph.cfg
Class CFGMethodEntry

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

public class CFGMethodEntry
extends CFGNode

A method entry node of CFGs.

Author:
Katsuhsa Maruyama

Field Summary
 
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 CFGMethodEntry()
          Creates a new, empty object.
protected CFGMethodEntry(int sort, org.w3c.dom.Element elem)
          Creates a new node.
 
Method Summary
protected  void addFormalIn(CFGParameter node)
          Adds formal-in node.
protected  void addFormalOut(CFGParameter node)
          Adds formal-out node.
 CFGParameter getFormalIn(int index)
          Returns a parameter node at the position in the formal-in list of this method entry.
 java.util.ArrayList getFormalIns()
          Returns formal-in nodes of the method starting from this method entry.
 CFGParameter getFormalOut(int index)
          Returns a parameter node at the position in the formal-out list of this method entry.
 java.util.ArrayList getFormalOuts()
          Returns formal-out nodes of the method starting from this method entry.
 int getNumOfParameters()
          Returns the number of parameters.
 java.util.ArrayList getParameters()
          Returns parameter nodes of the method starting from this method entry.
 boolean hasParameter()
          Tests if this method entry has a parameter.
 boolean isMethodEntry()
          Tests if this node indicates a method entry node.
 void print(java.lang.StringBuffer buf)
          Collects information about this statement for printing.
 
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, isParameterSt, isReturnSt, isStatement, 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

CFGMethodEntry

protected CFGMethodEntry()
Creates a new, empty object.


CFGMethodEntry

protected CFGMethodEntry(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.
Method Detail

isMethodEntry

public boolean isMethodEntry()
Tests if this node indicates a method entry node.

Overrides:
isMethodEntry in class CFGNode
Returns:
always true.

addFormalIn

protected void addFormalIn(CFGParameter node)
Adds formal-in node.

Parameters:
node - A formal-in node of CFGs.

addFormalOut

protected void addFormalOut(CFGParameter node)
Adds formal-out node.

Parameters:
node - A formal-out node of CFGs.

getFormalIns

public java.util.ArrayList getFormalIns()
Returns formal-in nodes of the method starting from this method entry.

Returns:
The formal-in nodes.

getFormalOuts

public java.util.ArrayList getFormalOuts()
Returns formal-out nodes of the method starting from this method entry.

Returns:
The formal-in nodes.

getParameters

public java.util.ArrayList getParameters()
Returns parameter nodes of the method starting from this method entry.

Returns:
The parameter nodes, which is the same as the formal-in nodes.

getNumOfParameters

public int getNumOfParameters()
Returns the number of parameters.

Returns:
The number of parameter nodes.

hasParameter

public boolean hasParameter()
Tests if this method entry has a parameter.

Returns:
true if this method entry has a parameter, otherwise false.

getFormalIn

public CFGParameter getFormalIn(int index)
Returns a parameter node at the position in the formal-in list of this method entry.

Parameters:
index - The position where a parameter node is returned.
Returns:
The parameter node at the position, null if there is no parameter node found.

getFormalOut

public CFGParameter getFormalOut(int index)
Returns a parameter node at the position in the formal-out list of this method entry.

Parameters:
index - The position where a parameter node is returned.
Returns:
The parameter node at the position, null if there is no parameter node found.

print

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

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