private void TransformParameters(AstGenerator outer, AstGenerator inner, List<MSAst.Expression> defaults, List<MSAst.Expression> names) { if (inner.IsGenerator) { inner.CreateGeneratorParameter(); } for (int i = 0; i < _parameters.Length; i++) { // Create the parameter in the inner code block Parameter p = _parameters[i]; p.Transform(inner); // Transform the default value if (p.DefaultValue != null) { defaults.Add( outer.TransformAndConvert(p.DefaultValue, typeof(object)) ); } names.Add( Ast.Constant( SymbolTable.IdToString(p.Name) ) ); } }
private void TransformParameters(AstGenerator outer, AstGenerator inner, List<MSAst.Expression> defaults, List<MSAst.Expression> names, bool needsWrapperMethod) { if (inner.IsGenerator) { inner.CreateGeneratorParameter(); } if (needsWrapperMethod) { // define a single parameter which takes all arguments inner.Parameter(typeof(object[]), "allArgs"); } for (int i = 0; i < _parameters.Length; i++) { // Create the parameter in the inner code block Parameter p = _parameters[i]; p.Transform(inner, needsWrapperMethod); // Transform the default value if (p.DefaultValue != null) { defaults.Add( outer.TransformAndConvert(p.DefaultValue, typeof(object)) ); } names.Add( AstUtils.Constant( SymbolTable.IdToString(p.Name) ) ); } }