public FunctionCallNode(FunctionCallNode rhs) : base(rhs) { Function = ProtoCore.Utils.NodeUtils.Clone(rhs.Function); FormalArguments = new List <ImperativeNode>(); foreach (ImperativeNode argNode in rhs.FormalArguments) { ImperativeNode tempNode = ProtoCore.Utils.NodeUtils.Clone(argNode); FormalArguments.Add(tempNode); } }
public ImperativeNode BuildFunctionCall(string functionName, List<ImperativeNode> arguments) { var func = new FunctionCallNode(); func.Function = BuildIdentfier(functionName); func.FormalArguments = arguments; return func; }
protected FunctionCallNode EmitGetterSetterForIdent(IdentifierNode inode, bool isSetter = false) { if (isSetter) { FunctionCallNode setter = new FunctionCallNode(); setter.Function = inode; IdentifierNode tmpArg = new IdentifierNode(); tmpArg.Name = tmpArg.Value = ProtoCore.DSASM.Constants.kTempArg; tmpArg.datatype = TypeSystem.BuildPrimitiveTypeObject(PrimitiveType.kTypeVar, false); setter.FormalArguments.Add(tmpArg); return setter; } else { FunctionCallNode getter = new FunctionCallNode(); getter.Function = inode; return getter; } }
public FunctionCallNode(FunctionCallNode rhs) : base(rhs) { Function = ProtoCore.Utils.NodeUtils.Clone(rhs.Function); FormalArguments = new List<ImperativeNode>(); foreach (ImperativeNode argNode in rhs.FormalArguments) { ImperativeNode tempNode = ProtoCore.Utils.NodeUtils.Clone(argNode); FormalArguments.Add(tempNode); } }