1using System.Threading.Tasks;
50 return Differentiable.DefaultVariableName;
122 if (!(this.op is
null))
124 bool b = !Callback(this.op, out
ScriptNode NewNode, State);
125 if (!(NewNode is
null))
130 this.isAsync = NewNode.IsAsynchronous;
133 if (b || (Order ==
SearchMethod.TreeOrder && !
this.op.ForAllChildNodes(Callback, State, Order)))
157 int Result = base.GetHashCode();
Class managing a script expression.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
override bool Equals(object obj)
int Start
Start position in script expression.
virtual bool IsAsynchronous
If the node (or its decendants) include asynchronous evaluation. Asynchronous nodes should be evaluat...
void SetParent(ScriptNode Parent)
Sets the parent node. Can only be used when expression is being parsed or created.
override int GetHashCode()
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 ...
Base class for all unary operators.
abstract IElement Evaluate(IElement Operand, Variables Variables)
Evaluates the operator.
override IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
virtual string DefaultVariableName
Default variable name, if any, null otherwise.
ScriptNode Operand
Operand.
override bool ForAllChildNodes(ScriptNodeEventHandler Callback, object State, SearchMethod Order)
Calls the callback method for all child nodes.
UnaryOperator(ScriptNode Operand, int Start, int Length, Expression Expression)
Base class for all unary operators.
bool isAsync
If subtree is asynchroneous.
override bool Equals(object obj)
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
override int GetHashCode()
virtual Task< IElement > EvaluateAsync(IElement Operand, Variables Variables)
Evaluates the operator.
override bool IsAsynchronous
If the node (or its decendants) include asynchronous evaluation. Asynchronous nodes should be evaluat...
Basic interface for all types of elements.
Base interface for lambda expressions.
delegate bool ScriptNodeEventHandler(ScriptNode Node, out ScriptNode NewNode, object State)
Delegate for ScriptNode callback methods.
SearchMethod
Method to traverse the expression structure