Skip to content

Commit b0984bc

Browse files
committed
fixed broken tests; resolver no longer runs until all parse trees are acquired
1 parent 427ff25 commit b0984bc

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

Rubberduck.Parsing/VBA/RubberduckParser.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,11 @@ public void Resolve(CancellationToken token)
272272

273273
private void ResolveInternal(CancellationToken token)
274274
{
275+
if (!_state.HasAllParseTrees)
276+
{
277+
return;
278+
}
279+
275280
foreach (var kvp in _state.ParseTrees)
276281
{
277282
if (token.IsCancellationRequested) return;

Rubberduck.Parsing/VBA/RubberduckParserState.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,8 @@ public IParseTree GetParseTree(VBComponent component)
409409

410410
public IEnumerable<KeyValuePair<QualifiedModuleName, IParseTree>> ParseTrees { get { return _parseTrees; } }
411411

412+
public bool HasAllParseTrees { get { return _moduleStates.Count == _parseTrees.Count; } }
413+
412414
public TokenStreamRewriter GetRewriter(VBComponent component)
413415
{
414416
return new TokenStreamRewriter(_tokenStreams[new QualifiedModuleName(component)]);

0 commit comments

Comments
 (0)