Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
SemanticConversionFunction.cs
1using System.Threading.Tasks;
5
7{
12 {
17 : base(null, 0, 0, null)
18 {
19 }
20
27 {
28 }
29
33 public int MinArguments => 1;
34
38 public int MaxArguments => 1;
39
49 {
50 return this.CreateFunction(Arguments[0], Start, Length, Expression);
51 }
52
62
68 public virtual Grade Supports(string Uri)
69 {
70 return Uri == this.FunctionName ? Grade.Ok : Grade.NotAtAll;
71 }
72
79 {
80 IElement Arg = this.Argument.Evaluate(Variables);
81 return this.Convert(Arg.AssociatedObjectValue);
82 }
83
89 public override async Task<IElement> EvaluateAsync(Variables Variables)
90 {
91 IElement Arg = await this.Argument.EvaluateAsync(Variables);
92 return this.Convert(Arg.AssociatedObjectValue);
93 }
94
102 {
103 return this.Convert(Argument.AssociatedObjectValue);
104 }
105
112 public override Task<IElement> EvaluateAsync(IElement Argument, Variables Variables)
113 {
114 return Task.FromResult(this.Convert(Argument.AssociatedObjectValue));
115 }
116
122 public abstract IElement Convert(object Value);
123 }
124}
Class managing a script expression.
Definition: Expression.cs:39
Base class for funcions of one variable.
ScriptNode Argument
Function argument.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
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 ...
Definition: ScriptNode.cs:158
override IElement Evaluate(Variables Variables)
Evaluates the function on a scalar argument.
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the function on a scalar argument.
abstract ScriptNode CreateFunction(ScriptNode Argument, int Start, int Length, Expression Expression)
Creates a function node.
abstract IElement Convert(object Value)
Converts an object to the desired type.
override IElement Evaluate(IElement Argument, Variables Variables)
Evaluates the function.
virtual Grade Supports(string Uri)
How well the extension function supports an URI.
override Task< IElement > EvaluateAsync(IElement Argument, Variables Variables)
Evaluates the function.
ScriptNode CreateFunction(ScriptNode[] Arguments, int Start, int Length, Expression Expression)
Creates a function node.
SemanticConversionFunction(ScriptNode Argument, int Start, int Length, Expression Expression)
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:20
object AssociatedObjectValue
Associated object value.
Definition: IElement.cs:33
Grade
Grade enumeration
Definition: Grade.cs:7