CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
SequenceTypes.ExpandVisitor Class Reference
Inheritance diagram for SequenceTypes.ExpandVisitor:

Public Member Functions

def __init__ (self, type)
 
def enter (self, visitee)
 
def leave (self, visitee)
 
def result (self)
 
def resultString (self)
 

Public Attributes

 l
 
 taskLeaves
 

Private Attributes

 _levelInTasks
 
 _type
 

Detailed Description

Expands the sequence into leafs and UnaryOperators 

Definition at line 801 of file SequenceTypes.py.

Constructor & Destructor Documentation

def SequenceTypes.ExpandVisitor.__init__ (   self,
  type 
)

Member Function Documentation

def SequenceTypes.ExpandVisitor.enter (   self,
  visitee 
)

Definition at line 808 of file SequenceTypes.py.

References SequenceTypes.ModuleNodeOnTaskVisitor._levelInTasks, SequenceTypes.ModuleNodeNotOnTaskVisitor._levelInTasks, and SequenceTypes.ExpandVisitor._levelInTasks.

808  def enter(self,visitee):
809  if isinstance(visitee, Task):
810  self._levelInTasks += 1
811  return
812  if visitee.isLeaf():
813  if self._levelInTasks > 0:
814  self.taskLeaves.append(visitee)
815  else:
816  self.l.append(visitee)
def enter(self, visitee)
def SequenceTypes.ExpandVisitor.leave (   self,
  visitee 
)
def SequenceTypes.ExpandVisitor.result (   self)
def SequenceTypes.ExpandVisitor.resultString (   self)

Definition at line 834 of file SequenceTypes.py.

References cond::SmallWORMDict::Frame.l, PixelToFEDAssociateFromAscii::Bdu.l, SequenceTypes.ModuleNodeVisitor.l, SequenceTypes.ModuleNodeOnTaskVisitor.l, SequenceTypes.ModuleNodeNotOnTaskVisitor.l, SequenceTypes.NodeNameVisitor.l, SequenceTypes.ExpandVisitor.l, str, and SequenceTypes.ExpandVisitor.taskLeaves.

834  def resultString(self):
835  sep = ''
836  returnValue = ''
837  for m in self.l:
838  if m is not None:
839  returnValue += sep+str(m)
840  sep = '+'
841  if returnValue:
842  sep = ','
843  for n in self.taskLeaves:
844  if n is not None:
845  returnValue += sep+str(n)
846  sep = ','
847  return returnValue
848 
849 
850 # This visitor is only meant to run on Sequences, Paths, and EndPaths
851 # It intentionally ignores nodes on Tasks when it does this.
#define str(s)

Member Data Documentation

SequenceTypes.ExpandVisitor._levelInTasks
private
SequenceTypes.ExpandVisitor._type
private
SequenceTypes.ExpandVisitor.l
SequenceTypes.ExpandVisitor.taskLeaves