Exemplo n.º 1
0
 public Condition(Comparison Comparison, Function Function, FunctionTarget RunOn, FormID RunOnReference)
 {
     this.Comparison     = Comparison;
     this.Function       = Function;
     this.RunOn          = RunOn;
     this.RunOnReference = RunOnReference;
 }
            protected internal override Node VisitFunctionTarget(FunctionTarget node)
            {
                node = (FunctionTarget)base.VisitFunctionTarget(node);

                this.data.SetFactoryExpression(node, Evaluator.CreateDataTarget(this.data.ConvertToLinqExpression(node.Function)));

                return(node);
            }
Exemplo n.º 3
0
 public Condition(string Tag = null)
     : base(Tag)
 {
     Comparison     = new Comparison();
     Function       = new Function();
     RunOn          = new FunctionTarget();
     RunOnReference = new FormID();
 }
Exemplo n.º 4
0
        protected internal override Node VisitFunctionTarget(FunctionTarget node)
        {
            var result   = this.ValidateChildren(node);
            var function = this.Data.GetFunction(result.Function);

            if (!function?.ReturnType.Interfaces.Contains(typeof(IDataTarget)) ?? false)
            {
                this.AddError(node, $"Function {node.Function.Name.ToUpperInvariant()} is not a data target.");
            }

            return(result);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Visits a <see cref="FunctionTarget"/>.
 /// </summary>
 /// <param name="node">
 /// The node.
 /// </param>
 /// <returns>
 /// The node, or a new version of the node.
 /// </returns>
 protected internal virtual Node VisitFunctionTarget([NotNull] FunctionTarget node)
 {
     return(node.VisitChildren(this));
 }
Exemplo n.º 6
0
            protected internal override Node VisitFunctionTarget([NotNull] FunctionTarget node)
            {
                this.Visit(node.Function);

                return(node);
            }
Exemplo n.º 7
0
 /// <summary>
 /// Visits a <see cref="FunctionTarget"/>.
 /// </summary>
 /// <param name="node">
 /// The node.
 /// </param>
 /// <returns>
 /// The node, or a new version of the node.
 /// </returns>
 protected internal override Node VisitFunctionTarget(FunctionTarget node)
 {
     return(this.VisitImplementation(node) ?? base.VisitFunctionTarget(node));
 }