Class ExistsAssignRule<TSemanticElement>
Denotes a rule that catches whether a given rule matched
public abstract class ExistsAssignRule<TSemanticElement> : QuoteRule
Type Parameters
TSemanticElement
- Inheritance
-
ExistsAssignRule<TSemanticElement>
- Derived
- Inherited Members
Properties
Feature
Gets the name of the feature that is assigned
protected abstract string Feature { get; }
Property Value
Methods
CanSynthesize(object, ParseContext, SynthesisPlan)
Determines whether the current rule can synthesize rule applications for the given semantic element
public override bool CanSynthesize(object semanticElement, ParseContext context, SynthesisPlan synthesisPlan)
Parameters
semanticElementobjectthe semantic element
contextParseContextthe context in which the rule is synthesized
synthesisPlanSynthesisPlanthe plan of the synthesis
Returns
- bool
true, if a rule application can be synthesized, otherwise false
GetValue(TSemanticElement, ParseContext)
Gets the value of the given property
protected abstract bool GetValue(TSemanticElement semanticElement, ParseContext context)
Parameters
semanticElementTSemanticElementthe context element
contextParseContextthe parsing context
Returns
- bool
the property value
OnActivate(RuleApplication, ParseContext, bool)
Gets called when a rule application is activated
protected override void OnActivate(RuleApplication application, ParseContext context, bool initial)
Parameters
applicationRuleApplicationthe rule application that is activated
contextParseContextthe context in which the rule application is activated
initialboolflag indicating whether the activation happened due to initial parse
OnDeactivate(RuleApplication, ParseContext)
Gets called when a rule application is deactivated
protected override void OnDeactivate(RuleApplication application, ParseContext context)
Parameters
applicationRuleApplicationthe rule application that is deactivated
contextParseContextthe context in which the rule application is deactivated
SetValue(TSemanticElement, bool, ParseContext)
Assigns the value to the given semantic element
protected abstract void SetValue(TSemanticElement semanticElement, bool value, ParseContext context)
Parameters
semanticElementTSemanticElementthe semantic element
valueboolthe value to assign
contextParseContextthe parse context
Synthesize(object, ParsePosition, ParseContext)
Synthesizes a rule application for the given semantic element
public override RuleApplication Synthesize(object semanticElement, ParsePosition position, ParseContext context)
Parameters
semanticElementobjectpositionParsePositionthe parse position at which the element should be synthesized
contextParseContextthe parse context
Returns
- RuleApplication
a rule application