CMS 3D CMS Logo

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

Public Member Functions

def __init__ (self, l)
 
def enter (self, visitee)
 
def initialize (self)
 
def leave (self, visitee)
 

Public Attributes

 l
 

Private Attributes

 _decoration
 
 _levelInTasks
 

Detailed Description

Adds any '!' or '-' needed.  Takes a list 

Definition at line 852 of file SequenceTypes.py.

Constructor & Destructor Documentation

def SequenceTypes.DecoratedNodeNameVisitor.__init__ (   self,
  l 
)

Member Function Documentation

def SequenceTypes.DecoratedNodeNameVisitor.enter (   self,
  visitee 
)

Definition at line 864 of file SequenceTypes.py.

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

864  def enter(self,visitee):
865  if isinstance(visitee, Task):
866  self._levelInTasks += 1
867  if self._levelInTasks > 0:
868  return
869  if visitee.isLeaf():
870  if hasattr(visitee, "_Labelable__label"):
871  self.l.append(self._decoration+visitee.label_())
872  else:
873  error = "An object in a sequence was not found in the process\n"
874  if hasattr(visitee, "_filename"):
875  error += "From file " + visitee._filename
876  else:
877  error += "Dump follows\n" + repr(visitee)
878  raise RuntimeError(error)
879  if isinstance(visitee,_BooleanLogicExpression):
880  self.l.append(self._decoration+visitee.operatorString())
881  if isinstance(visitee,_UnarySequenceOperator):
882  self._decoration=visitee.decoration()
883  else:
884  self._decoration=''
885 
def SequenceTypes.DecoratedNodeNameVisitor.initialize (   self)
def SequenceTypes.DecoratedNodeNameVisitor.leave (   self,
  visitee 
)

Definition at line 886 of file SequenceTypes.py.

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

886  def leave(self,visitee):
887  # Ignore if this visitee is inside a Task
888  if self._levelInTasks > 0:
889  if isinstance(visitee, Task):
890  self._levelInTasks -= 1
891  return
892  if isinstance(visitee,_BooleanLogicExpression):
893  #need to add the 'go back' command to keep track of where we are in the tree
894  self.l.append('@')
895 
896 # This visitor is only meant to run on Sequences, Paths, and EndPaths
897 # Similar to DecoratedNodeNameVistor. The only difference
898 # is it also builds a separate list of leaves on Tasks.

Member Data Documentation

SequenceTypes.DecoratedNodeNameVisitor._decoration
private
SequenceTypes.DecoratedNodeNameVisitor._levelInTasks
private
SequenceTypes.DecoratedNodeNameVisitor.l