CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

SequenceTypes::_UnarySequenceOperator Class Reference

Inheritance diagram for SequenceTypes::_UnarySequenceOperator:
SequenceTypes::_Sequenceable SequenceTypes::_SequenceIgnore SequenceTypes::_SequenceNegation

List of all members.

Public Member Functions

def __eq__
def __init__
def __ne__
def isOperation
def resolve

Private Member Functions

def _clonesequence
def _findDependencies
def _remove
def _replace
def _visitSubNodes

Private Attributes

 _operand

Detailed Description

For ~ and - operators

Definition at line 275 of file SequenceTypes.py.


Constructor & Destructor Documentation

def SequenceTypes::_UnarySequenceOperator::__init__ (   self,
  operand 
)

Reimplemented in SequenceTypes::_SequenceNegation, and SequenceTypes::_SequenceIgnore.

Definition at line 277 of file SequenceTypes.py.

00278                                :
00279        self._operand = operand
00280        if isinstance(operand, _ModuleSequenceType):
           raise RuntimeError("This operator cannot accept a sequence")

Member Function Documentation

def SequenceTypes::_UnarySequenceOperator::__eq__ (   self,
  other 
)

Definition at line 281 of file SequenceTypes.py.

00282                            :
00283         # allows replace(~a, b)
        return type(self) == type(other) and self._operand==other._operand
def SequenceTypes::_UnarySequenceOperator::__ne__ (   self,
  other 
)

Definition at line 284 of file SequenceTypes.py.

00285                            :
        return not self.__eq__(other)
def SequenceTypes::_UnarySequenceOperator::_clonesequence (   self,
  lookuptable 
) [private]

Reimplemented from SequenceTypes::_Sequenceable.

Definition at line 288 of file SequenceTypes.py.

00289                                          :
        return type(self)(self._operand._clonesequence(lookuptable))
def SequenceTypes::_UnarySequenceOperator::_findDependencies (   self,
  knownDeps,
  presentDeps 
) [private]

Definition at line 286 of file SequenceTypes.py.

00287                                                       :
        self._operand._findDependencies(knownDeps, presentDeps)
def SequenceTypes::_UnarySequenceOperator::_remove (   self,
  original 
) [private]

Definition at line 295 of file SequenceTypes.py.

00296                                :
00297         if (self._operand == original): return (None, True)
00298         (self._operand, found) = self._operand._remove(original)
00299         if self._operand == None: return (None, True)
        return (self, found)
def SequenceTypes::_UnarySequenceOperator::_replace (   self,
  original,
  replacement 
) [private]

Definition at line 290 of file SequenceTypes.py.

00291                                              :
00292         if self._operand == original:
00293             self._operand = replacement
00294         else:
            self._operand._replace(original, replacement)
def SequenceTypes::_UnarySequenceOperator::_visitSubNodes (   self,
  visitor 
) [private]

Reimplemented from SequenceTypes::_Sequenceable.

Definition at line 305 of file SequenceTypes.py.

00306                                     :
00307         self._operand.visitNode(visitor)
00308 

def SequenceTypes::_UnarySequenceOperator::isOperation (   self)
Returns True if the object is an operator (e.g. *,+ or !) type

Reimplemented from SequenceTypes::_Sequenceable.

Definition at line 303 of file SequenceTypes.py.

00304                          :
        return True
def SequenceTypes::_UnarySequenceOperator::resolve (   self,
  processDict 
)

Reimplemented from SequenceTypes::_Sequenceable.

Definition at line 300 of file SequenceTypes.py.

00301                                   :
00302         self._operand = self._operand.resolve(processDict)
        return self

Member Data Documentation

Definition at line 277 of file SequenceTypes.py.