CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SequenceTypes._UnarySequenceOperator Class Reference
Inheritance diagram for SequenceTypes._UnarySequenceOperator:
SequenceTypes._BooleanLogicSequenceable SequenceTypes._Sequenceable SequenceTypes._SequenceIgnore SequenceTypes._SequenceNegation

Public Member Functions

def __eq__ (self, other)
 
def __init__ (self, operand)
 
def __ne__ (self, other)
 
def decoration (self)
 
def isOperation (self)
 
def resolve (self, processDict, keepIfCannotResolve=False)
 
- Public Member Functions inherited from SequenceTypes._BooleanLogicSequenceable
def __and__ (self, other)
 
def __init__ (self)
 
def __or__ (self, other)
 
- Public Member Functions inherited from SequenceTypes._Sequenceable
def __add__ (self, rhs)
 
def __init__ (self)
 
def __invert__ (self)
 
def __mul__ (self, rhs)
 
def isLeaf (self)
 
def isOperation (self)
 
def resolve (self, processDict, keepIfCannotResolve=False)
 
def visitNode (self, visitor)
 

Private Member Functions

def _clonesequence (self, lookuptable)
 
def _findDependencies (self, knownDeps, presentDeps)
 
def _remove (self, original)
 
def _replace (self, original, replacement)
 
def _visitSubNodes (self, visitor)
 

Private Attributes

 _operand
 

Detailed Description

For ~ and - operators

Definition at line 436 of file SequenceTypes.py.

Constructor & Destructor Documentation

def SequenceTypes._UnarySequenceOperator.__init__ (   self,
  operand 
)

Definition at line 438 of file SequenceTypes.py.

438  def __init__(self, operand):
439  self._operand = operand
440  if isinstance(operand, _ModuleSequenceType):
441  raise RuntimeError("This operator cannot accept a sequence")
442  if not isinstance(operand, _Sequenceable):
443  raise RuntimeError("This operator cannot accept a non sequenceable type")

Member Function Documentation

def SequenceTypes._UnarySequenceOperator.__eq__ (   self,
  other 
)

Definition at line 444 of file SequenceTypes.py.

References SequenceTypes._UnarySequenceOperator._operand.

Referenced by SequenceTypes._UnarySequenceOperator.__ne__().

444  def __eq__(self, other):
445  # allows replace(~a, b)
446  return isinstance(self, type(other)) and self._operand==other._operand
def SequenceTypes._UnarySequenceOperator.__ne__ (   self,
  other 
)
def SequenceTypes._UnarySequenceOperator._clonesequence (   self,
  lookuptable 
)
private

Definition at line 451 of file SequenceTypes.py.

451  def _clonesequence(self, lookuptable):
452  return type(self)(self._operand._clonesequence(lookuptable))
def _clonesequence(self, lookuptable)
def SequenceTypes._UnarySequenceOperator._findDependencies (   self,
  knownDeps,
  presentDeps 
)
private

Definition at line 449 of file SequenceTypes.py.

449  def _findDependencies(self,knownDeps, presentDeps):
450  self._operand._findDependencies(knownDeps, presentDeps)
def _findDependencies(self, knownDeps, presentDeps)
def SequenceTypes._UnarySequenceOperator._remove (   self,
  original 
)
private

Definition at line 458 of file SequenceTypes.py.

References SequenceTypes._UnarySequenceOperator._operand.

458  def _remove(self, original):
459  if (self._operand == original): return (None, True)
460  (self._operand, found) = self._operand._remove(original)
461  if self._operand == None: return (None, True)
462  return (self, found)
def SequenceTypes._UnarySequenceOperator._replace (   self,
  original,
  replacement 
)
private

Definition at line 453 of file SequenceTypes.py.

References SequenceTypes._UnarySequenceOperator._operand.

453  def _replace(self, original, replacement):
454  if self._operand == original:
455  self._operand = replacement
456  else:
457  self._operand._replace(original, replacement)
def _replace(self, original, replacement)
def SequenceTypes._UnarySequenceOperator._visitSubNodes (   self,
  visitor 
)
private

Definition at line 468 of file SequenceTypes.py.

468  def _visitSubNodes(self,visitor):
469  self._operand.visitNode(visitor)
def SequenceTypes._UnarySequenceOperator.decoration (   self)

Definition at line 470 of file SequenceTypes.py.

470  def decoration(self):
471  self._operand.decoration()
472 
473 
def SequenceTypes._UnarySequenceOperator.isOperation (   self)

Definition at line 466 of file SequenceTypes.py.

466  def isOperation(self):
467  return True
def SequenceTypes._UnarySequenceOperator.resolve (   self,
  processDict,
  keepIfCannotResolve = False 
)

Definition at line 463 of file SequenceTypes.py.

References SequenceTypes._UnarySequenceOperator._operand.

463  def resolve(self, processDict,keepIfCannotResolve=False):
464  self._operand = self._operand.resolve(processDict,keepIfCannotResolve)
465  return self
def resolve(self, processDict, keepIfCannotResolve=False)

Member Data Documentation

SequenceTypes._UnarySequenceOperator._operand
private