Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Specialize.cs
1using System.Threading.Tasks;
7
9{
14 {
24 {
25 }
26
30 public override string FunctionName => nameof(Specialize);
31
35 public override string[] DefaultArgumentNames => new string[] { "Object" };
36
41 public override bool IsAsynchronous => true;
42
50 {
51 return this.EvaluateAsync(Argument, Variables).Result;
52 }
53
60 public override Task<IElement> EvaluateAsync(IElement Argument, Variables Variables)
61 {
62 return EvaluateAsync(Argument);
63 }
64
70 public static Task<IElement> EvaluateAsync(IElement E)
71 {
73 }
74
80 public static async Task<IElement> EvaluateAsync(object Object)
81 {
82 if (Object is GenericObject GenObj)
83 return new ObjectValue(await Database.Specialize(GenObj));
84 else
85 return new ObjectValue(Object);
86 }
87 }
88}
Static interface for database persistence. In order to work, a database provider has to be assigned t...
Definition: Database.cs:19
static Task< object > Specialize(GenericObject Object)
Creates a specialized representation of a generic object.
Definition: Database.cs:1688
Generic object. Contains a sequence of properties.
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
Creates a specialized representation of an object.
Definition: Specialize.cs:14
static Task< IElement > EvaluateAsync(IElement E)
Generalizes the object in E .
Definition: Specialize.cs:70
Specialize(ScriptNode Argument, int Start, int Length, Expression Expression)
Creates a specialized representation of an object.
Definition: Specialize.cs:22
override bool IsAsynchronous
If the node (or its decendants) include asynchronous evaluation. Asynchronous nodes should be evaluat...
Definition: Specialize.cs:41
static async Task< IElement > EvaluateAsync(object Object)
Generalizes the object in Object .
Definition: Specialize.cs:80
override string[] DefaultArgumentNames
Default Argument names
Definition: Specialize.cs:35
override Task< IElement > EvaluateAsync(IElement Argument, Variables Variables)
Evaluates the function.
Definition: Specialize.cs:60
override string FunctionName
Name of the function
Definition: Specialize.cs:30
override IElement Evaluate(IElement Argument, Variables Variables)
Evaluates the function.
Definition: Specialize.cs:49
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