コード例 #1
0
ファイル: LLOC.cs プロジェクト: smartshark/OpenStaticAnalyzer
            public override void VisitAnonymousMethodExpression(AnonymousMethodExpressionSyntax node)
            {
                var lastEmbeddedNode = embeddedNode;

                if (entryNode == null)
                {
                    entryNode = node;
                }
                else
                {
                    embeddedNode = node;
                }
                _depthAnonymousMethodExpression++;
                InsertLLOCMap(node.GetLocation());
                InsertLLOCMap(node.Block.GetLocation());
                if (node.ParameterList != null)
                {
                    foreach (var paramter in node.ParameterList.Parameters)
                    {
                        InsertLLOCMap(paramter.GetLocation());
                    }
                }
                InsertLLOCMap(node.DelegateKeyword.GetLocation());
                _weInAnonymousMethod = true;
                base.VisitAnonymousMethodExpression(node);
                _weInAnonymousMethod = false;
                _depthAnonymousMethodExpression--;
                embeddedNode = lastEmbeddedNode;
                if (_depthSimpleLambdaExpression == 0 && _depthParenthesizedExpression == 0 && _depthAnonymousMethodExpression == 0)
                {
                    entryNode = null;
                }
            }