|
5 | 5 | using System.Threading; |
6 | 6 | using Antlr4.Runtime.Tree; |
7 | 7 | using NLog; |
| 8 | +using Rubberduck.Parsing.Common; |
8 | 9 | using Rubberduck.Parsing.Symbols; |
9 | 10 | using Rubberduck.Parsing.VBA.Extensions; |
10 | 11 | using Rubberduck.Parsing.VBA.Parsing; |
@@ -75,21 +76,40 @@ public void ResolveReferences(IReadOnlyCollection<QualifiedModuleName> toResolve |
75 | 76 | PerformPreResolveCleanup(_toResolve.AsReadOnly(), token); |
76 | 77 | token.ThrowIfCancellationRequested(); |
77 | 78 |
|
| 79 | + var parsingStageTimer = ParsingStageTimer.StartNew(); |
| 80 | + |
78 | 81 | ExecuteCompilationPasses(_toResolve.AsReadOnly(), token); |
79 | 82 | token.ThrowIfCancellationRequested(); |
80 | 83 |
|
| 84 | + parsingStageTimer.Stop(); |
| 85 | + parsingStageTimer.Log("Executed compilation passes in {0}ms."); |
| 86 | + parsingStageTimer.Restart(); |
| 87 | + |
81 | 88 | AddSupertypesForDocumentModules(_toResolve.AsReadOnly(), _state); |
82 | 89 | token.ThrowIfCancellationRequested(); |
83 | 90 |
|
| 91 | + parsingStageTimer.Stop(); |
| 92 | + parsingStageTimer.Log("Added supertypes for document modules in {0}ms."); |
| 93 | + |
84 | 94 | var parseTreesToResolve = _state.ParseTrees.Where(kvp => _toResolve.Contains(kvp.Key)).ToList(); |
85 | 95 | token.ThrowIfCancellationRequested(); |
86 | 96 |
|
| 97 | + parsingStageTimer.Restart(); |
| 98 | + |
87 | 99 | ResolveReferences(parseTreesToResolve, token); |
88 | 100 | token.ThrowIfCancellationRequested(); |
89 | 101 |
|
| 102 | + parsingStageTimer.Stop(); |
| 103 | + parsingStageTimer.Log("Resolved references in {0}ms."); |
| 104 | + parsingStageTimer.Restart(); |
| 105 | + |
90 | 106 | AddModuleToModuleReferences(_state.DeclarationFinder, token); |
91 | 107 | token.ThrowIfCancellationRequested(); |
92 | 108 |
|
| 109 | + parsingStageTimer.Stop(); |
| 110 | + parsingStageTimer.Log("Determined module to module references in {0}ms."); |
| 111 | + parsingStageTimer.Restart(); |
| 112 | + |
93 | 113 | AddNewUndeclaredVariablesToDeclarations(); |
94 | 114 | AddNewUnresolvedMemberDeclarations(); |
95 | 115 |
|
|
0 commit comments