Stanse  -1
Public Member Functions | List of all members
cz.muni.stanse.threadchecker.graph.CFGGraphState Class Reference

Public Member Functions

 CFGGraphState (CFGHandle cfg)
 
CFGHandle getCfg ()
 
Set< CFGNodegetReachableNodes ()
 
Set< CFGNodegetVisitedNodes ()
 
CFGNode getIdToNode (Integer id)
 
List< CFGNodewaitingFor (final CFGNode actualNode)
 
Set< CFGNodedetectCycles (final CFGNode actualNode, List< CFGNode > waitList)
 

Detailed Description

Class represents Control Flow Graph during traversing analysis. Instance holds reachable nodes in graph and also provide info about wrong builded cycles to prevend deadlock during CFGTraverse analysis.

Author
Jan Kučera

Constructor & Destructor Documentation

cz.muni.stanse.threadchecker.graph.CFGGraphState.CFGGraphState ( CFGHandle  cfg)
inline

Member Function Documentation

Set<CFGNode> cz.muni.stanse.threadchecker.graph.CFGGraphState.detectCycles ( final CFGNode  actualNode,
List< CFGNode waitList 
)
inline

Method determines, whether actualNode and any node from waitList are in cycle. If so, method returns Set of nodes which are first succesors of actualNode in founded cycle.

Parameters
actualNodeCFGNode
waitListList<CFGNode> list of predecessors of actualNode
Returns
Set<CFGNode> contains nodes where cycle starts
CFGHandle cz.muni.stanse.threadchecker.graph.CFGGraphState.getCfg ( )
inline
CFGNode cz.muni.stanse.threadchecker.graph.CFGGraphState.getIdToNode ( Integer  id)
inline
Set<CFGNode> cz.muni.stanse.threadchecker.graph.CFGGraphState.getReachableNodes ( )
inline
Set<CFGNode> cz.muni.stanse.threadchecker.graph.CFGGraphState.getVisitedNodes ( )
inline
List<CFGNode> cz.muni.stanse.threadchecker.graph.CFGGraphState.waitingFor ( final CFGNode  actualNode)
inline

Method returns CFGNodes which are predecessors of actualNode and aren't marked as visited.

Parameters
actualNode
Returns
List of CFGNodes which aren't marked as visited

The documentation for this class was generated from the following file: