@@ -860,7 +860,6 @@ namespace {
860
860
llvm::DenseMap<TypeLoc*, Type> TypeLocTypes;
861
861
llvm::DenseMap<Pattern*, Type> PatternTypes;
862
862
llvm::DenseMap<ParamDecl*, Type> ParamDeclInterfaceTypes;
863
- llvm::DenseSet<ValueDecl*> PossiblyInvalidDecls;
864
863
ExprTypeSaverAndEraser (const ExprTypeSaverAndEraser&) = delete ;
865
864
void operator =(const ExprTypeSaverAndEraser&) = delete ;
866
865
public:
@@ -909,7 +908,6 @@ namespace {
909
908
TS->ParamDeclInterfaceTypes [P] = P->getInterfaceType ();
910
909
P->setInterfaceType (Type ());
911
910
}
912
- TS->PossiblyInvalidDecls .insert (P);
913
911
}
914
912
915
913
expr->setType (nullptr );
@@ -960,16 +958,10 @@ namespace {
960
958
paramDeclIfaceElt.first ->setInterfaceType (paramDeclIfaceElt.second ->getInOutObjectType ());
961
959
}
962
960
963
- if (!PossiblyInvalidDecls.empty ())
964
- for (auto D : PossiblyInvalidDecls)
965
- if (D->hasInterfaceType ())
966
- D->setInvalid (D->getInterfaceType ()->hasError ());
967
-
968
961
// Done, don't do redundant work on destruction.
969
962
ExprTypes.clear ();
970
963
TypeLocTypes.clear ();
971
964
PatternTypes.clear ();
972
- PossiblyInvalidDecls.clear ();
973
965
}
974
966
975
967
// On destruction, if a type got wiped out, reset it from null to its
@@ -997,11 +989,6 @@ namespace {
997
989
paramDeclIfaceElt.first ->setInterfaceType (
998
990
getParamBaseType (paramDeclIfaceElt));
999
991
}
1000
-
1001
- if (!PossiblyInvalidDecls.empty ())
1002
- for (auto D : PossiblyInvalidDecls)
1003
- if (D->hasInterfaceType ())
1004
- D->setInvalid (D->getInterfaceType ()->hasError ());
1005
992
}
1006
993
1007
994
private:
0 commit comments