2using System.Threading.Tasks;
92 ICollection <IElement> OperandElements = Operand.
ChildElements;
95 if (OperandElements.Count == MemberElements.Count)
98 IEnumerator<IElement> eOperand = OperandElements.GetEnumerator();
99 IEnumerator<IElement> eMember = MemberElements.GetEnumerator();
103 while (eOperand.MoveNext() && eMember.MoveNext())
118 foreach (
IElement OperandChild
in OperandElements)
122 foreach (
IElement MemberChild
in MemberElements)
125 OperandResult.Add(Member.
Encapsulate(MemberResult, Node));
A chunked list is a linked list of chunks of objects of type T .
void Add(T Item)
Adds an item to the collection.
Script runtime exception.
Class managing a script expression.
ScriptNode right
Right operand.
ScriptNode left
Left operand.
Base class for all unary operators performing operand null checks.
readonly bool nullCheck
If null should be returned if operand is null.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
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 ...
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
DynamicMember(ScriptNode Left, ScriptNode Right, bool NullCheck, int Start, int Length, Expression Expression)
Dynamic member operator
override bool IsAsynchronous
If the node (or its decendants) include asynchronous evaluation. Asynchronous nodes should be evaluat...
override IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
static async Task< IElement > EvaluateDynamicMember(IElement Operand, IElement Member, bool NullCheck, ScriptNode Node)
Evaluates a dynamic member.
static async Task< IElement > EvaluateDynamic(IElement Operand, string Name, bool NullCheck, ScriptNode Node)
Evaluates the member operator dynamically on an operand.
Basic interface for all types of elements.
object AssociatedObjectValue
Associated object value.
ICollection< IElement > ChildElements
An enumeration of child elements. If the element is a scalar, this property will return null.
IElement Encapsulate(ChunkedList< IElement > Elements, ScriptNode Node)
Encapsulates a set of elements into a similar structure as that provided by the current element.
bool IsScalar
If the element represents a scalar value.