Skip to content

Commit b8756b1

Browse files
committed
Fixed stupid bug, enabled selective resolving of references.
1 parent 96a014d commit b8756b1

File tree

2 files changed

+1
-10
lines changed

2 files changed

+1
-10
lines changed

Rubberduck.Parsing/Symbols/DeclarationFinder.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public class DeclarationFinder
4444
private readonly ConcurrentDictionary<QualifiedModuleName, ConcurrentBag<Declaration>> _declarations;
4545
private readonly ConcurrentDictionary<QualifiedMemberName, ConcurrentBag<Declaration>> _newUndeclared;
4646
private readonly ConcurrentBag<UnboundMemberDeclaration> _newUnresolved;
47-
private readonly Dictionary<QualifiedMemberName, List<Declaration>> _undeclared;
4847
private readonly List<UnboundMemberDeclaration> _unresolved;
4948
private readonly ConcurrentDictionary<QualifiedModuleName, ConcurrentBag<IAnnotation>> _annotations;
5049
private readonly ConcurrentDictionary<Declaration, ConcurrentBag<Declaration>> _parametersByParent;
@@ -93,7 +92,6 @@ public DeclarationFinder(IReadOnlyList<Declaration> declarations, IEnumerable<IA
9392
), true);
9493

9594
_newUndeclared = new ConcurrentDictionary<QualifiedMemberName, ConcurrentBag<Declaration>>(new Dictionary<QualifiedMemberName, ConcurrentBag<Declaration>>());
96-
_undeclared = declarations.Where(declaration => declaration.IsUndeclared).GroupBy(item => item.QualifiedName).ToDictionary(group => group.Key, group => group.ToList());
9795
_newUnresolved = new ConcurrentBag<UnboundMemberDeclaration>(new List<UnboundMemberDeclaration>());
9896
_unresolved = unresolvedMemberDeclarations.ToList();
9997

@@ -144,11 +142,6 @@ public IEnumerable<Declaration> FreshUndeclared
144142
get { return _newUndeclared.AllValues(); }
145143
}
146144

147-
public IEnumerable<Declaration> Undeclared
148-
{
149-
get { return _undeclared.SelectMany(item => item.Value).ToList(); }
150-
}
151-
152145
public IEnumerable<Declaration> Members(Declaration module)
153146
{
154147
return Members(module.QualifiedName.QualifiedModuleName);

Rubberduck.Parsing/VBA/ParseCoordinator.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ private void ExecuteCommonParseActivities(List<IVBComponent> toParse, Cancellati
239239
throw new OperationCanceledException(token);
240240
}
241241

242-
toResolveReferences = State.ParseTrees.Select(kvp => kvp.Key).ToHashSet();
243242
ResolveAllReferences(toResolveReferences, token);
244243

245244
if (token.IsCancellationRequested || State.Status >= ParserState.Error)
@@ -271,7 +270,7 @@ private void SetModuleStates(List<IVBComponent> components, ParserState parserSt
271270

272271
private ICollection<QualifiedModuleName> ModulesForWhichToResolveReferences(List<IVBComponent> toParse)
273272
{
274-
var toResolveReferences = new HashSet<QualifiedModuleName>();
273+
var toResolveReferences = toParse.Select(component => new QualifiedModuleName(component)).ToHashSet();
275274
foreach (var qmn in toParse.Select(component => new QualifiedModuleName(component)))
276275
{
277276
toResolveReferences.UnionWith(State.ModulesReferencing(qmn));
@@ -283,7 +282,6 @@ private void PerformPreParseCleanup(List<IVBComponent> toParse, ICollection<Qual
283282
{
284283
ClearModuleToModuleReferences(toParse);
285284
State.RemoveAllReferencesBy(toResolveReferences);
286-
State.ClearAllReferences(); //This has to stay here until the selective resolving actually works.
287285
_projectDeclarations.Clear();
288286
}
289287

0 commit comments

Comments
 (0)