@@ -2924,15 +2924,15 @@ class ConstraintSystem {
29242924 SolverTrail *getTrail () const {
29252925 return solverState ? &solverState->Trail : nullptr ;
29262926 }
2927-
2928- // / Add a new type variable that was already created.
2929- void addTypeVariable (TypeVariableType *typeVar);
29302927
29312928 // / Add a constraint from the subscript base to the root of the key
29322929 // / path literal to the constraint system.
29332930 void addKeyPathApplicationRootConstraint (Type root, ConstraintLocatorBuilder locator);
29342931
29352932public:
2933+ // / Add a new type variable that was already created.
2934+ void addTypeVariable (TypeVariableType *typeVar);
2935+
29362936 // / Lookup for a member with the given name which is in the given base type.
29372937 // /
29382938 // / This routine caches the results of member lookups in the top constraint
@@ -2953,7 +2953,9 @@ class ConstraintSystem {
29532953
29542954 // / Create a new type variable.
29552955 TypeVariableType *createTypeVariable (ConstraintLocator *locator,
2956- unsigned options);
2956+ unsigned options,
2957+ PreparedOverload *preparedOverload
2958+ = nullptr );
29572959
29582960 // / Retrieve the set of active type variables.
29592961 ArrayRef<TypeVariableType *> getTypeVariables () const {
@@ -4333,7 +4335,8 @@ class ConstraintSystem {
43334335 // /
43344336 // / \returns The opened type, or \c type if there are no archetypes in it.
43354337 Type openType (Type type, ArrayRef<OpenedType> replacements,
4336- ConstraintLocatorBuilder locator);
4338+ ConstraintLocatorBuilder locator,
4339+ PreparedOverload *preparedOverload);
43374340
43384341 // / "Open" an opaque archetype type, similar to \c openType.
43394342 Type openOpaqueType (OpaqueTypeArchetypeType *type,
@@ -4349,7 +4352,8 @@ class ConstraintSystem {
43494352 // / aforementioned variable via special constraints.
43504353 Type openPackExpansionType (PackExpansionType *expansion,
43514354 ArrayRef<OpenedType> replacements,
4352- ConstraintLocatorBuilder locator);
4355+ ConstraintLocatorBuilder locator,
4356+ PreparedOverload *preparedOverload);
43534357
43544358 // / Update OpenedPackExpansionTypes and record a change in the trail.
43554359 void recordOpenedPackExpansionType (PackExpansionType *expansion,
@@ -4378,26 +4382,30 @@ class ConstraintSystem {
43784382 FunctionType *openFunctionType (AnyFunctionType *funcType,
43794383 ConstraintLocatorBuilder locator,
43804384 SmallVectorImpl<OpenedType> &replacements,
4381- DeclContext *outerDC);
4385+ DeclContext *outerDC,
4386+ PreparedOverload *preparedOverload);
43824387
43834388 // / Open the generic parameter list and its requirements,
43844389 // / creating type variables for each of the type parameters.
43854390 void openGeneric (DeclContext *outerDC,
43864391 GenericSignature signature,
43874392 ConstraintLocatorBuilder locator,
4388- SmallVectorImpl<OpenedType> &replacements);
4393+ SmallVectorImpl<OpenedType> &replacements,
4394+ PreparedOverload *preparedOverload);
43894395
43904396 // / Open the generic parameter list creating type variables for each of the
43914397 // / type parameters.
43924398 void openGenericParameters (DeclContext *outerDC,
43934399 GenericSignature signature,
43944400 SmallVectorImpl<OpenedType> &replacements,
4395- ConstraintLocatorBuilder locator);
4401+ ConstraintLocatorBuilder locator,
4402+ PreparedOverload *preparedOverload);
43964403
43974404 // / Open a generic parameter into a type variable and record
43984405 // / it in \c replacements.
43994406 TypeVariableType *openGenericParameter (GenericTypeParamType *parameter,
4400- ConstraintLocatorBuilder locator);
4407+ ConstraintLocatorBuilder locator,
4408+ PreparedOverload *preparedOverload);
44014409
44024410 // / Given generic signature open its generic requirements,
44034411 // / using substitution function, and record them in the
@@ -4436,7 +4444,8 @@ class ConstraintSystem {
44364444 FunctionType *adjustFunctionTypeForConcurrency (
44374445 FunctionType *fnType, Type baseType, ValueDecl *decl, DeclContext *dc,
44384446 unsigned numApplies, bool isMainDispatchQueue,
4439- ArrayRef<OpenedType> replacements, ConstraintLocatorBuilder locator);
4447+ ArrayRef<OpenedType> replacements, ConstraintLocatorBuilder locator,
4448+ PreparedOverload *preparedOverload);
44404449
44414450 // / Retrieve the type of a reference to the given value declaration.
44424451 // /
0 commit comments