cz::muni::stanse::threadchecker::AbstractFunctionState Class Reference

Inheritance diagram for cz::muni::stanse::threadchecker::AbstractFunctionState:
Collaboration diagram for cz::muni::stanse::threadchecker::AbstractFunctionState:

List of all members.

Public Member Functions

 AbstractFunctionState ()
 AbstractFunctionState (LinkedList< BackTrack > backTrack)
List< DependencyRulegetRules ()
LinkedList< BackTrackgetBackTrack ()
void addRules (Collection< DependencyRule > rules)
void addJoin (ResourceVertex srcNode, LockStack locked, UnlockSet unlocked)
void addRule (DependencyRule rule)
Lock getLock (String lockName)
Set< JoinNodegetJoins ()
Collection< LockgetScope ()
Map< String, List
< DependencyRule > > 
getRulesBySourceNode ()
Map< String, List
< DependencyRule > > 
getRulesByTargetNode ()
boolean isEmpty ()
boolean equals (Object obj)
int hashCode ()
String toString ()
void lockDown (String lockName)
void lockUp (String lockName, CFGNode node)

Protected Member Functions

final LockStack getLockStack ()
UnlockSet getUnlockSet ()

Detailed Description

Abstract Class which represents dependency rules in one function and all necessary data for stitching with other FunctionState.
Jan Kučera

Constructor & Destructor Documentation

cz::muni::stanse::threadchecker::AbstractFunctionState::AbstractFunctionState (  )  [inline]

cz::muni::stanse::threadchecker::AbstractFunctionState::AbstractFunctionState ( LinkedList< BackTrack backTrack  )  [inline]

Member Function Documentation

final LockStack cz::muni::stanse::threadchecker::AbstractFunctionState::getLockStack (  )  [inline, protected]

UnlockSet cz::muni::stanse::threadchecker::AbstractFunctionState::getUnlockSet (  )  [inline, protected]

List<DependencyRule> cz::muni::stanse::threadchecker::AbstractFunctionState::getRules (  )  [inline]

LinkedList<BackTrack> cz::muni::stanse::threadchecker::AbstractFunctionState::getBackTrack (  )  [inline]

void cz::muni::stanse::threadchecker::AbstractFunctionState::addRules ( Collection< DependencyRule rules  )  [inline]

void cz::muni::stanse::threadchecker::AbstractFunctionState::addJoin ( ResourceVertex  srcNode,
LockStack  locked,
UnlockSet  unlocked 
) [inline]

void cz::muni::stanse::threadchecker::AbstractFunctionState::addRule ( DependencyRule  rule  )  [inline]

Method add rule to this.rules list and creates keys for all maps for searching.

rule DependencyRule which should be added.

Lock cz::muni::stanse::threadchecker::AbstractFunctionState::getLock ( String  lockName  )  [inline]

Method pick up lock from lockStack or unlockStack, otherwise create a new instanse of lock named as lockName.

lockName String lock's name

Set<JoinNode> cz::muni::stanse::threadchecker::AbstractFunctionState::getJoins (  )  [inline]

Collection<Lock> cz::muni::stanse::threadchecker::AbstractFunctionState::getScope (  )  [inline]

Map<String, List<DependencyRule> > cz::muni::stanse::threadchecker::AbstractFunctionState::getRulesBySourceNode (  )  [inline]

Map<String, List<DependencyRule> > cz::muni::stanse::threadchecker::AbstractFunctionState::getRulesByTargetNode (  )  [inline]

boolean cz::muni::stanse::threadchecker::AbstractFunctionState::isEmpty (  )  [inline]

Method determine, whether data contains any valuable data

boolean whether data doesn't contain something usefull

boolean cz::muni::stanse::threadchecker::AbstractFunctionState::equals ( Object  obj  )  [inline]

int cz::muni::stanse::threadchecker::AbstractFunctionState::hashCode (  )  [inline]

String cz::muni::stanse::threadchecker::AbstractFunctionState::toString (  )  [inline]

void cz::muni::stanse::threadchecker::AbstractFunctionState::lockDown ( String  lockName  )  [inline]

Method tries to unlock semaphore, if so, removes lock from lockSet. If lock is still lock (recursive type) decrement lock's state or set lock to unlockSet.

lockName String name of semaphore

void cz::muni::stanse::threadchecker::AbstractFunctionState::lockUp ( String  lockName,
CFGNode  node 
) [inline]

Tries to lock semaphore -> if lockSet is isEmpty, creates join node, otherwise creates dependency rule. If lock is already lock, just increase lock state.

lockName String name of lock
node CFGNode for setting spot where lock was set to locked state

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

Generated on Thu Jan 13 16:24:10 2011 for Stanse by  doxygen 1.5.6