Skip to content

Commit cc15c0b

Browse files
[ConstraintSystem] Remove unnecessary check for decl and use getDeclOrNNull
1 parent a331ba0 commit cc15c0b

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

lib/Sema/ConstraintSystem.cpp

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -929,22 +929,21 @@ TypeVariableType *ConstraintSystem::isRepresentativeFor(
929929
}
930930

931931
static Optional<std::pair<VarDecl *, Type>>
932-
getPropertyWrappersInformationFromOverload(
932+
getPropertyWrapperInformationFromOverload(
933933
SelectedOverload resolvedOverload, DeclContext *DC,
934934
llvm::function_ref<Optional<std::pair<VarDecl *, Type>>(VarDecl *)>
935935
getInformation) {
936-
if (resolvedOverload.choice.isDecl()) {
937-
if (auto *decl = dyn_cast<VarDecl>(resolvedOverload.choice.getDecl())) {
938-
if (auto declInformation = getInformation(decl)) {
939-
Type type;
940-
VarDecl *memberDecl;
941-
std::tie(memberDecl, type) = *declInformation;
942-
if (Type baseType = resolvedOverload.choice.getBaseType()) {
943-
type = baseType->getTypeOfMember(DC->getParentModule(), memberDecl,
944-
type);
945-
}
946-
return std::make_pair(decl, type);
936+
if (auto *decl =
937+
dyn_cast_or_null<VarDecl>(resolvedOverload.choice.getDeclOrNull())) {
938+
if (auto declInformation = getInformation(decl)) {
939+
Type type;
940+
VarDecl *memberDecl;
941+
std::tie(memberDecl, type) = *declInformation;
942+
if (Type baseType = resolvedOverload.choice.getBaseType()) {
943+
type = baseType->getTypeOfMember(DC->getParentModule(), memberDecl,
944+
type);
947945
}
946+
return std::make_pair(decl, type);
948947
}
949948
}
950949
return None;
@@ -965,7 +964,7 @@ getStorageWrapperInformationFromDecl(VarDecl *decl) {
965964
Optional<std::pair<VarDecl *, Type>>
966965
ConstraintSystem::getStorageWrapperInformation(
967966
SelectedOverload resolvedOverload) {
968-
return getPropertyWrappersInformationFromOverload(
967+
return getPropertyWrapperInformationFromOverload(
969968
resolvedOverload, DC,
970969
[](VarDecl *decl) { return getStorageWrapperInformationFromDecl(decl); });
971970
}
@@ -981,7 +980,7 @@ getPropertyWrapperInformationFromDecl(VarDecl *decl) {
981980
Optional<std::pair<VarDecl *, Type>>
982981
ConstraintSystem::getPropertyWrapperInformation(
983982
SelectedOverload resolvedOverload) {
984-
return getPropertyWrappersInformationFromOverload(
983+
return getPropertyWrapperInformationFromOverload(
985984
resolvedOverload, DC, [](VarDecl *decl) {
986985
return getPropertyWrapperInformationFromDecl(decl);
987986
});
@@ -998,7 +997,7 @@ getWrappedPropertyInformationFromDecl(VarDecl *decl) {
998997
Optional<std::pair<VarDecl *, Type>>
999998
ConstraintSystem::getWrappedPropertyInformation(
1000999
SelectedOverload resolvedOverload) {
1001-
return getPropertyWrappersInformationFromOverload(
1000+
return getPropertyWrapperInformationFromOverload(
10021001
resolvedOverload, DC, [](VarDecl *decl) {
10031002
return getWrappedPropertyInformationFromDecl(decl);
10041003
});

0 commit comments

Comments
 (0)