Click or drag to resize

SequenceComputation Class

A sequence computation object with references to child sequence computations. The computations are basically: visited flags management, container manipulation, assignments and special functions; they may or may not return values. They do change things, in contrast to the side-effect free sequence expressions.
Inheritance Hierarchy
SystemObject
  de.unika.ipd.grGen.libGrSequenceBase
    de.unika.ipd.grGen.libGrSequenceComputation
      More

Namespace: de.unika.ipd.grGen.libGr
Assembly: libGr (in libGr.dll) Version: GrGen.NET 7.1
Syntax
C#
public abstract class SequenceComputation : SequenceBase

The SequenceComputation type exposes the following members.

Constructors
 NameDescription
Protected methodSequenceComputation(SequenceComputation) Copy constructor.
Protected methodSequenceComputation(SequenceComputationType) Initializes a new SequenceComputation object with the given sequence computation type.
Top
Properties
 NameDescription
Public propertyChildren Enumerates all child sequence computation objects
Public propertyChildrenBase
(Overrides SequenceBaseChildrenBase)
Public propertyExecutionState the state of executing this sequence base (a sequence base comprises sequences, sequence computations, sequence expressions)
(Inherited from SequenceBase)
Public propertyId returns the sequence /expresion id - every sequence /expression is assigned a unique id that is used in xgrs code generation and in sequence rendering for copies a new id is generated, too, this does not cause problems as code is only generated once per defined sequence
(Inherited from SequenceBase)
Public propertyPrecedence The precedence of this operator. Zero is the highest priority, int.MaxValue the lowest. Used to add needed parentheses for printing sequences /expressions TODO: WTF? das ist im Parser genau umgekehrt implementiert!
(Inherited from SequenceBase)
Public propertyReturnsValue Tells whether Execute returns a value to be used as a result determining value for a boolean computation sequence. Only expressions do so, the values returned by plain computations don't bubble up to sequence level, are computation internal only.
Public propertySymbol A string symbol representing this sequence /expression kind.
(Inherited from SequenceBase)
Top
Methods
 NameDescription
Public methodCheck Checks the sequence computation for errors utilizing the given checking environment reports them by exception default behavior: check all the children
(Overrides SequenceBaseCheck(SequenceCheckingEnvironment))
Protected methodCheckBaseObjectTypeIsKnown
(Inherited from SequenceBase)
Protected methodCheckEdgeTypeIsKnown
(Inherited from SequenceBase)
Protected methodCheckGraphElementTypeIsKnown
(Inherited from SequenceBase)
Protected methodCheckNodeTypeIsKnown
(Inherited from SequenceBase)
Public methodContains Returns whether the potentialChild is contained in this sequence (base). True if potentialChild is the same as this sequence (base) (so reflexive relation).
(Inherited from SequenceBase)
Protected methodStatic memberEscape 
Public methodExecute Executes this sequence computation.
Public methodExecuteImpl Executes this sequence computation. This function represents the actual implementation of the sequence.
Public methodFireBeginExecutionEvent
(Inherited from SequenceBase)
Public methodFireEndExecutionEvent
(Inherited from SequenceBase)
Public methodFireEnteringSequenceEvent
(Inherited from SequenceBase)
Public methodFireExitingSequenceEvent
(Inherited from SequenceBase)
Public methodGetCurrentlyExecutedSequenceBase Returns the innermost sequence base beneath this as root which gets currently executed (for sequences on call stack this is the call). A path in the sequence tree gets executed, the innermost is the important one.
(Inherited from SequenceBase)
Public methodGetLocalVariables(DictionarySequenceVariable, SetValueType, ListSequenceExpressionConstructor) Collects all variables of the sequence expression tree into the variables dictionary, and all container and internal object constructors used into the constructors array.
Public methodGetLocalVariables(DictionarySequenceVariable, SetValueType, ListSequenceExpressionConstructor, SequenceBase) Walks the sequence tree from this on to the given target sequence base (inclusive), collecting all variables found on the way into the variables dictionary, and all container and object type constructors used into the constructors array.
(Inherited from SequenceBase)
Protected methodGetTypeString
(Inherited from SequenceBase)
Public methodHasSequenceType
(Overrides SequenceBaseHasSequenceType(SequenceType))
Public methodSetNeedForProfiling sets for the very node the profiling flag (does not recurse)
(Inherited from SequenceBase)
Public methodSetNeedForProfilingRecursive sets for the node and all children, i.e. the entire tree the profiling flag
(Inherited from SequenceBase)
Public methodType Returns the type of the sequence default behaviour: returns "void"
(Overrides SequenceBaseType(SequenceCheckingEnvironment))
Protected methodStatic memberUnescape 
Top
Fields
 NameDescription
Protected fieldid stores the sequence /expression unique id
(Inherited from SequenceBase)
Public fieldSequenceComputationType The type of the sequence computation (e.g. Assignment or MethodCall)
Top
See Also
Inheritance Hierarchy
SystemObject
  de.unika.ipd.grGen.libGrSequenceBase
    de.unika.ipd.grGen.libGrSequenceComputation
      de.unika.ipd.grGen.libGrAssignmentTarget
      de.unika.ipd.grGen.libGrSequenceComputationAssert
      de.unika.ipd.grGen.libGrSequenceComputationAssignment
      de.unika.ipd.grGen.libGrSequenceComputationBuiltinProcedureCall
      de.unika.ipd.grGen.libGrSequenceComputationContainer
      de.unika.ipd.grGen.libGrSequenceComputationDebug
      de.unika.ipd.grGen.libGrSequenceComputationDeleteFile
      de.unika.ipd.grGen.libGrSequenceComputationEmit
      de.unika.ipd.grGen.libGrSequenceComputationExport
      de.unika.ipd.grGen.libGrSequenceComputationGetEquivalentOrAdd
      de.unika.ipd.grGen.libGrSequenceComputationGraphAdd
      de.unika.ipd.grGen.libGrSequenceComputationGraphAddCopy
      de.unika.ipd.grGen.libGrSequenceComputationGraphClear
      de.unika.ipd.grGen.libGrSequenceComputationGraphMerge
      de.unika.ipd.grGen.libGrSequenceComputationGraphRedirectSource
      de.unika.ipd.grGen.libGrSequenceComputationGraphRedirectSourceAndTarget
      de.unika.ipd.grGen.libGrSequenceComputationGraphRedirectTarget
      de.unika.ipd.grGen.libGrSequenceComputationGraphRem
      de.unika.ipd.grGen.libGrSequenceComputationGraphRetype
      de.unika.ipd.grGen.libGrSequenceComputationInsert
      de.unika.ipd.grGen.libGrSequenceComputationInsertCopy
      de.unika.ipd.grGen.libGrSequenceComputationInsertDefined
      de.unika.ipd.grGen.libGrSequenceComputationInsertInduced
      de.unika.ipd.grGen.libGrSequenceComputationProcedureCall
      de.unika.ipd.grGen.libGrSequenceComputationRecord
      de.unika.ipd.grGen.libGrSequenceComputationSynchronizationEnter
      de.unika.ipd.grGen.libGrSequenceComputationSynchronizationExit
      de.unika.ipd.grGen.libGrSequenceComputationSynchronizationTryEnter
      de.unika.ipd.grGen.libGrSequenceComputationThen
      de.unika.ipd.grGen.libGrSequenceComputationVAlloc
      de.unika.ipd.grGen.libGrSequenceComputationVariableDeclaration
      de.unika.ipd.grGen.libGrSequenceComputationVFree
      de.unika.ipd.grGen.libGrSequenceComputationVReset
      de.unika.ipd.grGen.libGrSequenceExpression