@@ -730,36 +730,6 @@ void TypeChecker::revertGenericParamList(GenericParamList *genericParams) {
730
730
}
731
731
}
732
732
733
- static void markInvalidGenericSignature (ValueDecl *VD, TypeChecker &TC) {
734
- GenericParamList *genericParams;
735
- if (auto *AFD = dyn_cast<AbstractFunctionDecl>(VD))
736
- genericParams = AFD->getGenericParams ();
737
- else
738
- genericParams = cast<GenericTypeDecl>(VD)->getGenericParams ();
739
-
740
- // If there aren't any generic parameters at this level, we're done.
741
- if (genericParams == nullptr )
742
- return ;
743
-
744
- DeclContext *DC = VD->getDeclContext ();
745
- ArchetypeBuilder builder = TC.createArchetypeBuilder (DC->getParentModule ());
746
-
747
- if (auto sig = DC->getGenericSignatureOfContext ())
748
- builder.addGenericSignature (sig, true );
749
-
750
- // Visit each of the generic parameters.
751
- for (auto param : *genericParams)
752
- builder.addGenericParameter (param);
753
-
754
- // Wire up the archetypes.
755
- for (auto GP : *genericParams)
756
- GP->setArchetype (builder.getArchetype (GP));
757
-
758
- genericParams->setAllArchetypes (
759
- TC.Context .AllocateCopy (builder.getAllArchetypes ()));
760
- }
761
-
762
-
763
733
// / Finalize the given generic parameter list, assigning archetypes to
764
734
// / the generic parameters.
765
735
static void finalizeGenericParamList (ArchetypeBuilder &builder,
@@ -4338,7 +4308,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
4338
4308
gp->setOuterParameters (FD->getDeclContext ()->getGenericParamsOfContext ());
4339
4309
4340
4310
if (TC.validateGenericFuncSignature (FD)) {
4341
- markInvalidGenericSignature (FD, TC );
4311
+ TC. markInvalidGenericSignature (FD);
4342
4312
} else {
4343
4313
// Create a fresh archetype builder.
4344
4314
ArchetypeBuilder builder =
@@ -4365,7 +4335,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
4365
4335
}
4366
4336
} else if (FD->getDeclContext ()->isGenericTypeContext ()) {
4367
4337
if (TC.validateGenericFuncSignature (FD)) {
4368
- markInvalidGenericSignature (FD, TC );
4338
+ TC. markInvalidGenericSignature (FD);
4369
4339
} else if (!FD->hasType ()) {
4370
4340
// Revert all of the types within the signature of the function.
4371
4341
TC.revertGenericFuncSignature (FD);
@@ -5912,7 +5882,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
5912
5882
gp->setOuterParameters (CD->getDeclContext ()->getGenericParamsOfContext ());
5913
5883
5914
5884
if (TC.validateGenericFuncSignature (CD)) {
5915
- markInvalidGenericSignature (CD, TC );
5885
+ TC. markInvalidGenericSignature (CD);
5916
5886
} else {
5917
5887
ArchetypeBuilder builder =
5918
5888
TC.createArchetypeBuilder (CD->getModuleContext ());
@@ -5931,7 +5901,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
5931
5901
}
5932
5902
} else if (CD->getDeclContext ()->isGenericTypeContext ()) {
5933
5903
if (TC.validateGenericFuncSignature (CD)) {
5934
- CD-> setInvalid ( );
5904
+ TC. markInvalidGenericSignature (CD );
5935
5905
} else {
5936
5906
// Revert all of the types within the signature of the constructor.
5937
5907
TC.revertGenericFuncSignature (CD);
@@ -6483,7 +6453,7 @@ void TypeChecker::validateDecl(ValueDecl *D, bool resolveTypeParams) {
6483
6453
6484
6454
// Validate the generic type parameters.
6485
6455
if (validateGenericTypeSignature (typeAlias)) {
6486
- markInvalidGenericSignature (typeAlias, * this );
6456
+ markInvalidGenericSignature (typeAlias);
6487
6457
return ;
6488
6458
}
6489
6459
@@ -6521,7 +6491,7 @@ void TypeChecker::validateDecl(ValueDecl *D, bool resolveTypeParams) {
6521
6491
6522
6492
// Validate the generic type parameters.
6523
6493
if (validateGenericTypeSignature (nominal)) {
6524
- markInvalidGenericSignature (nominal, * this );
6494
+ markInvalidGenericSignature (nominal);
6525
6495
return ;
6526
6496
}
6527
6497
0 commit comments