public virtual void VisitLambdaExpression(LambdaExpression lambdaExpression) { DebugExpression(lambdaExpression); StartNode(lambdaExpression); var oldRef = currentMethodReference; currentMethodReference = new object(); var builder = lambdaExpression.Annotation<MethodDebugInfoBuilder>(); if (builder != null) builder.StartPosition = writer.GetLocation(); if (lambdaExpression.IsAsync) { WriteKeyword(LambdaExpression.AsyncModifierRole); Space(); } if (LambdaNeedsParenthesis(lambdaExpression)) { WriteCommaSeparatedListInParenthesis(lambdaExpression.Parameters, policy.SpaceWithinMethodDeclarationParentheses, CodeBracesRangeFlags.Parentheses); } else { lambdaExpression.Parameters.Single().AcceptVisitor(this); } Space(); WriteToken(LambdaExpression.ArrowRole, BoxedTextColor.Operator); Space(); lambdaExpression.Body.AcceptVisitor(this); if (builder != null && builder.EndPosition == null) builder.EndPosition = writer.GetLocation(); currentMethodReference = oldRef; EndNode(lambdaExpression); }