コード例 #1
0
        internal void ParseMethodCalls(SDNamespace sdNamespace)
        {
            for (int i = 0; i < sdNamespace.Types.Count; i++)
            {
                foreach (var sdMethod in sdNamespace.Types[i].Methods)
                {
                    HandleOnItemParseStart(sdMethod.Name, i, sdNamespace.Types.Count);
                    var file          = _solution.GetFile(sdNamespace.Types[i].Region.Filename);
                    var methodAstNode = file.SyntaxTree.GetNodeContaining(
                        new TextLocation(sdMethod.Region.BeginLine, sdMethod.Region.BeginColumn),
                        new TextLocation(sdMethod.Region.EndLine, sdMethod.Region.EndColumn));

                    methodAstNode.AcceptVisitor(new MethodVisitor(_repository, sdMethod, sdNamespace.Types[i], file));
                }
            }
        }
コード例 #2
0
        internal void ParseMethodCalls()
        {
            var namespaces = _repository.GetAllNamespaces();

            foreach (var sdNamespace in namespaces)
            {
                foreach (var sdType in sdNamespace.Types)
                {
                    foreach (var sdMethod in sdType.Methods)
                    {
                        HandleOnItemParseStart(sdMethod.Name);
                        var file = _solution.GetFile(sdType.Region.Filename);
                        if (file != null) // TODO Check why file can be null sometimes!
                        {
                            var methodAstNode = file.SyntaxTree.GetNodeContaining(
                                new TextLocation(sdMethod.Region.BeginLine, sdMethod.Region.BeginColumn),
                                new TextLocation(sdMethod.Region.EndLine, sdMethod.Region.EndColumn));

                            methodAstNode.AcceptVisitor(new MethodVisitor(_repository, sdMethod, sdType, file));
                        }
                    }
                }
            }
        }