public override ICodeNode VisitLambdaExpression(LambdaExpression node) { // Visit of lambdas is needed only when locating declarations. if (this.state == State.LocateDeclarations) { // The following visit of the body of the lambda expression is needed, because variables that are declared in the // containing method, may be used in it. The clone is needed, because the lambda expression is already visited // and processed, and the only thing we need is to visit the variable references in it. Visit((node.CloneExpressionOnly() as LambdaExpression).Body); } return node; }