internal MSAst.Expression Transform(AstGenerator inner, bool needsWrapperMethod) { MSAst.ParameterExpression parameter; string name = SymbolTable.IdToString(Name); if (_variable.AccessedInNestedScope) { if (needsWrapperMethod) { parameter = inner.ClosedOverVariable(typeof(object), name); } else { parameter = inner.ClosedOverParameter(typeof(object), name); } } else { if (needsWrapperMethod) { parameter = inner.Variable(typeof(object), name); } else { parameter = inner.Parameter(typeof(object), name); } } inner.Globals.SetParameter(_variable, parameter); return parameter; }