using System.Collections.Generic; using System.Diagnostics; using System.Text; using Intromat.Model.Compiler; namespace Intromat.Nodes.Code { public class FunctionCall : ExecutionValueBase { public string? FunctionName { get; set; } public List Parameters { get; } = new(); public override void Compile(CompilerContext context, StringBuilder sb) { Debug.Assert(FunctionName != null, nameof(FunctionName) + " != null"); sb.Append($"{FunctionName}("); for (int i = 0, n = Parameters.Count; i < n; ++i) { var p = Parameters[i]; p.Compile(context, sb); if (i != n - 1) sb.Append(", "); } sb.Append(")\n"); base.Compile(context, sb); } } }