public class IPANode extends DFANode
| Constructor and Description |
|---|
IPANode(Procedure proc)
Constructs an IPANode object with the given procedure.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clean()
Removes the IN/OUT data.
|
boolean |
containsVarArg()
Marks this node as one with variable argument list
|
java.util.Set<IPANode> |
getCallers()
Returns the set of IPANode objects that call the current node.
|
java.util.List<CallSite> |
getCallingSites()
Returns the set of CallSite objects that calls the current node.
|
CallSite |
getCallSite(FunctionCall fc)
Returns the call site object associated with the given function call.
|
java.util.List<CallSite> |
getCallSites()
Returns the list of call sites present in the procedure.
|
java.lang.String |
getName()
Returns the name of the procedure.
|
java.util.List<Symbol> |
getParameters()
Returns the list of formal parameter symbols.
|
Procedure |
getProcedure()
Returns the procedure associated with the current node.
|
<T extends Domain> |
in()
Returns the IN data after joining all IN data.
|
<T extends Domain> |
in(CallSite calling_site)
Returns the context-sensitive IN data.
|
void |
in(CallSite calling_site,
Domain domain)
Set the IN data with the specified Domain object and the calling site.
|
boolean |
isRecursive()
Checks if this node can be called recursively
|
boolean |
isRoot()
Checks if this node is a root node
|
<T extends Domain> |
out()
Returns the OUT data.
|
void |
out(Domain domain)
Set the OUT data with the specified Domain object.
|
void |
setCloneable(boolean cloneable)
Marks this node as a cloneable node -- not within any call cycle
|
void |
setRoot()
Marks this node as a root node
|
java.lang.String |
toString()
Returns a string dump of this node
|
addPred, addSucc, getData, getData, getKeys, getPredData, getPreds, getSuccData, getSuccs, putData, putPredData, putSuccData, removeData, removePred, removeSucc, toDotpublic IPANode(Procedure proc)
public java.util.List<CallSite> getCallSites()
public java.lang.String getName()
public Procedure getProcedure()
public CallSite getCallSite(FunctionCall fc)
public java.util.Set<IPANode> getCallers()
public java.util.List<CallSite> getCallingSites()
public java.util.List<Symbol> getParameters()
public <T extends Domain> T in(CallSite calling_site)
calling_site - the calling site of this node.public <T extends Domain> T in()
public <T extends Domain> T out()
public void in(CallSite calling_site, Domain domain)
public void out(Domain domain)
public void clean()
public void setRoot()
public void setCloneable(boolean cloneable)
public boolean containsVarArg()
public boolean isRoot()
public boolean isRecursive()