@@ -934,72 +934,63 @@ getPropertyWrapperInformationFromOverload(
934934 llvm::function_ref<Optional<std::pair<VarDecl *, Type>>(VarDecl *)>
935935 getInformation) {
936936 if (auto *decl =
937- dyn_cast_or_null<VarDecl>(resolvedOverload.choice .getDeclOrNull ())) {
937+ dyn_cast_or_null<VarDecl>(resolvedOverload.choice .getDeclOrNull ())) {
938938 if (auto declInformation = getInformation (decl)) {
939939 Type type;
940940 VarDecl *memberDecl;
941941 std::tie (memberDecl, type) = *declInformation;
942942 if (Type baseType = resolvedOverload.choice .getBaseType ()) {
943- type = baseType-> getTypeOfMember (DC-> getParentModule (), memberDecl,
944- type);
943+ type =
944+ baseType-> getTypeOfMember (DC-> getParentModule (), memberDecl, type);
945945 }
946946 return std::make_pair (decl, type);
947947 }
948948 }
949949 return None;
950950}
951951
952- static Optional<std::pair<VarDecl *, Type>>
953- getStorageWrapperInformationFromDecl (VarDecl *decl) {
954- if (!decl->hasAttachedPropertyWrapper ())
955- return None;
956-
957- auto storageWrapper = decl->getPropertyWrapperStorageWrapper ();
958- if (!storageWrapper)
959- return None;
960-
961- return std::make_pair (storageWrapper, storageWrapper->getInterfaceType ());
962- }
963-
964952Optional<std::pair<VarDecl *, Type>>
965953ConstraintSystem::getStorageWrapperInformation (
966954 SelectedOverload resolvedOverload) {
967955 return getPropertyWrapperInformationFromOverload (
968956 resolvedOverload, DC,
969- [](VarDecl *decl) { return getStorageWrapperInformationFromDecl (decl); });
970- }
957+ [](VarDecl *decl) -> Optional<std::pair<VarDecl *, Type>> {
958+ if (!decl->hasAttachedPropertyWrapper ())
959+ return None;
971960
972- static Optional<std::pair<VarDecl *, Type>>
973- getPropertyWrapperInformationFromDecl (VarDecl *decl) {
974- if (!decl->hasAttachedPropertyWrapper ())
975- return None;
961+ auto storageWrapper = decl->getPropertyWrapperStorageWrapper ();
962+ if (!storageWrapper)
963+ return None;
976964
977- return std::make_pair (decl, decl->getPropertyWrapperBackingPropertyType ());
965+ return std::make_pair (storageWrapper,
966+ storageWrapper->getInterfaceType ());
967+ });
978968}
979969
980970Optional<std::pair<VarDecl *, Type>>
981971ConstraintSystem::getPropertyWrapperInformation (
982972 SelectedOverload resolvedOverload) {
983973 return getPropertyWrapperInformationFromOverload (
984- resolvedOverload, DC, [](VarDecl *decl) {
985- return getPropertyWrapperInformationFromDecl (decl);
986- });
987- }
988-
989- static Optional<std::pair<VarDecl *, Type>>
990- getWrappedPropertyInformationFromDecl (VarDecl *decl) {
991- if (auto wrapped = decl->getOriginalWrappedProperty ())
992- return std::make_pair (decl, wrapped->getInterfaceType ());
974+ resolvedOverload, DC,
975+ [](VarDecl *decl) -> Optional<std::pair<VarDecl *, Type>> {
976+ if (!decl->hasAttachedPropertyWrapper ())
977+ return None;
993978
994- return None;
979+ return std::make_pair (decl,
980+ decl->getPropertyWrapperBackingPropertyType ());
981+ });
995982}
996983
997984Optional<std::pair<VarDecl *, Type>>
998985ConstraintSystem::getWrappedPropertyInformation (
999986 SelectedOverload resolvedOverload) {
1000987 return getPropertyWrapperInformationFromOverload (
1001- resolvedOverload, DC, [](VarDecl *decl) {
1002- return getWrappedPropertyInformationFromDecl (decl);
988+ resolvedOverload, DC,
989+ [](VarDecl *decl) -> Optional<std::pair<VarDecl *, Type>> {
990+ if (auto wrapped = decl->getOriginalWrappedProperty ())
991+ return std::make_pair (decl, wrapped->getInterfaceType ());
992+
993+ return None;
1003994 });
1004995}
1005996
0 commit comments