@@ -2207,7 +2207,7 @@ class ConstraintSystem {
22072207 llvm::FoldingSetVector<ConstraintLocator> ConstraintLocators;
22082208
22092209 // / The overload sets that have been resolved along the current path.
2210- llvm::MapVector <ConstraintLocator *, SelectedOverload> ResolvedOverloads;
2210+ llvm::DenseMap <ConstraintLocator *, SelectedOverload> ResolvedOverloads;
22112211
22122212 // / The current fixed score for this constraint system and the (partial)
22132213 // / solution it represents.
@@ -2857,9 +2857,6 @@ class ConstraintSystem {
28572857 // / FIXME: Remove this.
28582858 unsigned numFixes;
28592859
2860- // / The length of \c ResolvedOverloads.
2861- unsigned numResolvedOverloads;
2862-
28632860 // / The length of \c ClosureTypes.
28642861 unsigned numInferredClosureTypes;
28652862
@@ -4932,6 +4929,11 @@ class ConstraintSystem {
49324929 buildDisjunctionForOptionalVsUnderlying (boundTy, type, dynamicLocator);
49334930 }
49344931
4932+ void recordResolvedOverload (ConstraintLocator *locator,
4933+ SelectedOverload choice);
4934+
4935+ void removeResolvedOverload (ConstraintLocator *locator);
4936+
49354937 // / Resolve the given overload set to the given choice.
49364938 void resolveOverload (ConstraintLocator *locator, Type boundType,
49374939 OverloadChoice choice, DeclContext *useDC);
@@ -5689,7 +5691,7 @@ class ConstraintSystem {
56895691 }
56905692
56915693 // / The overload sets that have already been resolved along the current path.
5692- const llvm::MapVector <ConstraintLocator *, SelectedOverload> &
5694+ const llvm::DenseMap <ConstraintLocator *, SelectedOverload> &
56935695 getResolvedOverloads () const {
56945696 return ResolvedOverloads;
56955697 }
0 commit comments