Click or drag to resize

PatternElement Class

An element of a rule pattern.
Inheritance Hierarchy
SystemObject
  de.unika.ipd.grGen.lgspPatternElement
    de.unika.ipd.grGen.lgspPatternEdge
    de.unika.ipd.grGen.lgspPatternNode

Namespace: de.unika.ipd.grGen.lgsp
Assembly: lgspBackend (in lgspBackend.dll) Version: GrGen.NET 7.1
Syntax
C#
public abstract class PatternElement : IPatternElement

The PatternElement type exposes the following members.

Constructors
 NameDescription
Protected methodPatternElement(PatternElement, String) Instantiates a new PatternElement object as a copy from an original element, used for independent inlining.
Protected methodPatternElement(PatternElement, PatternGraphEmbedding, PatternGraph, String) Instantiates a new PatternElement object as a copy from an original element, used for subpattern inlining.
Protected methodPatternElement(Int32, String, String, String, GrGenType, Boolean, Single, Int32, Boolean, StorageAccess, StorageAccessIndex, IndexAccess, NameLookup, UniqueLookup, PatternElement, Boolean, Expression) Instantiates a new PatternElement object.
Top
Properties
 NameDescription
Public propertyAnnotations The annotations of the pattern element
Public propertyDefToBeYieldedTo Iff true the element is only defined in its PointOfDefinition pattern, it gets matched in another, nested or called pattern which yields it to the containing pattern.
Public propertyInitialization The initialization expression for the element if some was defined, otherwise null.
Public propertyName The name of the pattern element.
Public propertyPointOfDefinition The pattern where this element gets matched (null if rule parameter).
Public propertyUnprefixedName The pure name of the pattern element as specified in the .grg without any prefixes.
Top
Methods
 NameDescription
Public methodGetPatternElementThisElementDependsOnOutsideOfGraphConnectedness Returns the pattern element we depend on, for a storage lookup, or an indexed storage lookup, or an index lookup
Public methodToString Converts this instance into a string representation.
(Overrides ObjectToString)
Top
Fields
 NameDescription
Public fieldAllowedTypes An array of allowed types for this pattern element. If it is null, all subtypes of the type specified by typeID (including itself) are allowed for this pattern element.
Public fieldannotations The annotations of the pattern element
Public fieldAssignmentSource If not null this pattern element is to be bound by assigning the given assignmentSource to the pattern element. This is needed to fill the pattern parameters of a pattern embedding which was inlined.
Public fieldCost Default cost/priority from frontend, user priority if given.
Public fielddefToBeYieldedTo Iff true the element is only defined in its PointOfDefinition pattern, it gets matched in another, nested or called pattern which yields it to the containing pattern.
Public fieldElementBeforeCasting If not null this pattern element is to be bound by casting the given ElementBeforeCasting to the pattern element type or causing matching to fail.
Public fieldIndexAccess If not null this pattern element is to be determined by an index lookup, with details specified by the concrete index access type contained in this field.
Public fieldinitialization The initialization expression for the element if some was defined, otherwise null.
Public fieldIsAllowedType An array containing a bool for each node/edge type (order defined by the TypeIDs) which is true iff the corresponding type is allowed for this pattern element. It should be null if allowedTypes is null or empty or has only one element.
Public fieldMaybeNull Tells whether this pattern element may be null. May only be true if pattern element is handed in as rule parameter.
Public fieldname The name of the pattern element.
Public fieldNameLookup If not null this pattern element is to be determined by a name map lookup
Public fieldoriginalElement Links to the original pattern element in case this element was inlined, otherwise null; the point of definition of the original element references the original containing pattern
Public fieldOriginalIndependentElement Links to the original pattern element in case this element stems from inlining an independent (those elements exist only in search planning, they are not contained in any pattern).
Public fieldoriginalSubpatternEmbedding Links to the original subpattern embedding which was inlined in case this element was inlined, otherwise null.
Public fieldParameterIndex Specifies to which rule parameter this pattern element corresponds. Only valid if pattern element is handed in as rule parameter.
Public fieldpointOfDefinition The pattern where this element gets matched (null if rule parameter).
Public fieldPresetBecauseOfIndependentInlining This element was declared in an independent pattern, but is now to be matched as preset, because it was inlinded in the containing pattern to speed up matching
Public fieldStorage If not null this pattern element is to be bound by iterating the given storage (which may mean trying the single value if it is elementary).
Public fieldStorageIndex If not null this pattern element is to be determined by a storage indexed lookup, with the accessor given here applied as index into the storage given in the Storage field.
Public fieldTempPlanMapping plan graph node corresponding to this pattern element, used in plan graph generation, just hacked into this place
Public fieldTypeID The type ID of the pattern element.
Public fieldtypeName The name of the type interface of the pattern element.
Public fieldUniqueLookup If not null this pattern element is to be determined by a unique index lookup
Public fieldunprefixedName Pure name of the pattern element as specified in the .grg file without any prefixes.
Public fieldvisited visited flag used to compute pattern connectedness for inlining, just hacked into this place
Top
See Also