2using System.Collections.Generic;
3using System.Reflection;
4using System.Threading.Tasks;
37 return this.EvaluateMatches(Left,
Variables);
42 Dictionary<string, IElement> AlreadyFound =
new Dictionary<string, IElement>();
47 foreach (KeyValuePair<string, IElement> P
in AlreadyFound)
71 return this.EvaluateMatches(Left,
Variables);
Class managing a script expression.
Base class for all binary operators.
ScriptNode right
Right operand.
ScriptNode left
Left operand.
bool isAsync
If subtree is asynchroneous.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
virtual PatternMatchResult PatternMatch(IElement CheckAgainst, Dictionary< string, IElement > AlreadyFound)
Performs a pattern match operation.
int Start
Start position in script expression.
abstract IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection. This method should be ...
virtual Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection. This method should be ...
static readonly BooleanValue False
Constant false value.
static readonly BooleanValue True
Constant true value.
override IElement Evaluate(Variables Variables)
Evaluates the operator.
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the operator.
Matches(ScriptNode Left, ScriptNode Right, int Start, int Length, Expression Expression)
Matches operator.
Basic interface for all types of elements.
PatternMatchResult
Status result of a pattern matching operation.