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); }
public Condition(string Tag = null) : base(Tag) { Comparison = new Comparison(); Function = new Function(); RunOn = new FunctionTarget(); RunOnReference = new FormID(); }
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); }
/// <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)); }
protected internal override Node VisitFunctionTarget([NotNull] FunctionTarget node) { this.Visit(node.Function); return(node); }
/// <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)); }