Lines Matching defs:substitution
72 ETSChecker *checker, Substitution *substitution)
82 while (anyChange && substitution->size() < sigParams.size()) {
106 if (checker->EnhanceSubstitutionForType(sigInfo->typeParams, paramType, argType, substitution)) {
109 if (lastSubsititutionSize != substitution->size()) {
110 lastSubsititutionSize = substitution->size();
120 Substitution *substitution = checker->NewSubstitution();
124 InferUntilFail(signature, arguments, checker, substitution);
126 if (substitution->size() != sigParams.size()) {
129 if (auto it = substitution->find(newTypeParam); it != substitution->cend()) {
135 auto dflt = newTypeParam->GetDefaultType()->Substitute(checker->Relation(), substitution);
136 if (!checker->EnhanceSubstitutionForType(sigInfo->typeParams, newTypeParam, dflt, substitution)) {
141 if (substitution->size() != sigParams.size() &&
145 signature->ReturnType(), substitution))) {
150 return substitution;
159 auto *substitution = checker->NewSubstitution();
192 ETSChecker::EmplaceSubstituted(substitution, sigParams[ix]->AsETSTypeParameter(), instArgs[ix]);
194 return substitution;
206 const Substitution *substitution =
211 return (substitution == nullptr) ? nullptr : signature->Substitute(checker->Relation(), substitution);