internal static void TransformParametersToSuperCall(AstGenerator /*!*/ gen, CallBuilder /*!*/ callBuilder, Parameters parameters) { if (parameters == null) { return; } if (parameters.Mandatory != null) { foreach (Variable v in parameters.Mandatory) { callBuilder.Add(v.TransformRead(gen)); } } if (parameters.Optional != null) { foreach (SimpleAssignmentExpression s in parameters.Optional) { callBuilder.Add(s.Left.TransformRead(gen)); } } if (parameters.Array != null) { callBuilder.SplattedArgument = parameters.Array.TransformRead(gen); } }
/// <summary> /// Emits the call. /// </summary> /// <param name="methodID">The method identifier.</param> /// <param name="arguments">The arguments.</param> /// <returns>CallBuilder.</returns> private CallBuilder emitCall(MethodID methodID, Arguments arguments) { var call = new Call(methodID, arguments); emitInstruction(call); var builder = new CallBuilder(call); return(builder); }