@@ -1109,23 +1109,25 @@ class OpaqueReturnTypeRepr : public TypeRepr {
11091109// / constraints that the concrete types satisfy:
11101110// /
11111111// / func foo() -> <T: Collection> T { return [1] }
1112- class OpaqueReturnParameterizedTypeRepr : public TypeRepr {
1112+ class NamedOpaqueReturnTypeRepr : public TypeRepr {
11131113 TypeRepr *Base;
11141114 GenericParamList *GenericParams;
11151115
11161116public:
1117- OpaqueReturnParameterizedTypeRepr (TypeRepr *Base,
1117+ NamedOpaqueReturnTypeRepr (TypeRepr *Base,
11181118 GenericParamList *GenericParams)
1119- : TypeRepr(TypeReprKind::OpaqueReturnParameterized), Base(Base),
1120- GenericParams (GenericParams) {}
1119+ : TypeRepr(TypeReprKind::NamedOpaqueReturn), Base(Base),
1120+ GenericParams (GenericParams) {
1121+ assert (Base && GenericParams);
1122+ }
11211123
11221124 TypeRepr *getBase () const { return Base; }
11231125 GenericParamList *getGenericParams () const { return GenericParams; }
11241126
11251127 static bool classof (const TypeRepr *T) {
1126- return T->getKind () == TypeReprKind::OpaqueReturnParameterized ;
1128+ return T->getKind () == TypeReprKind::NamedOpaqueReturn ;
11271129 }
1128- static bool classof (const OpaqueReturnParameterizedTypeRepr *T) {
1130+ static bool classof (const NamedOpaqueReturnTypeRepr *T) {
11291131 return true ;
11301132 }
11311133
@@ -1263,6 +1265,7 @@ inline bool TypeRepr::isSimple() const {
12631265 case TypeReprKind::InOut:
12641266 case TypeReprKind::Composition:
12651267 case TypeReprKind::OpaqueReturn:
1268+ case TypeReprKind::NamedOpaqueReturn:
12661269 return false ;
12671270 case TypeReprKind::SimpleIdent:
12681271 case TypeReprKind::GenericIdent:
@@ -1281,8 +1284,6 @@ inline bool TypeRepr::isSimple() const {
12811284 case TypeReprKind::Isolated:
12821285 case TypeReprKind::Placeholder:
12831286 return true ;
1284- case TypeReprKind::OpaqueReturnParameterized:
1285- return cast<OpaqueReturnParameterizedTypeRepr>(this )->getBase ()->isSimple ();
12861287 }
12871288 llvm_unreachable (" bad TypeRepr kind" );
12881289}
0 commit comments