Skip to content

Commit 642799c

Browse files
committed
---
yaml --- r: 342001 b: refs/heads/rxwei-patch-1 c: b36f772 h: refs/heads/master i: 341999: 2588646
1 parent f803519 commit 642799c

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-08-18-a: b10b1fce14385faa6d44f6b933e95
10151015
refs/heads/rdar-43033749-fix-batch-mode-no-diags-swift-5.0-branch: a14e64eaad30de89f0f5f0b2a782eed7ecdcb255
10161016
refs/heads/revert-19006-error-bridging-integer-type: 8a9065a3696535305ea53fe9b71f91cbe6702019
10171017
refs/heads/revert-19050-revert-19006-error-bridging-integer-type: ecf752d54b05dd0a20f510f0bfa54a3fec3bcaca
1018-
refs/heads/rxwei-patch-1: c1c4ca5e0a22707986829f9ca6555d9ce7983416
1018+
refs/heads/rxwei-patch-1: b36f772a6be9d0bbfd6d0252577c4b1af96057dd
10191019
refs/heads/shahmishal-patch-1: e58ec0f7488258d42bef51bc3e6d7b3dc74d7b2a
10201020
refs/heads/typelist-existential: 4046359efd541fb5c72d69a92eefc0a784df8f5e
10211021
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-08-20-a: 4319ba09e4fb8650ee86061075c74a016b6baab9

branches/rxwei-patch-1/lib/Sema/CSDiag.cpp

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3353,19 +3353,30 @@ class ArgumentMatcher : public MatchCallArgumentListener {
33533353
}
33543354

33553355
bool isPropertyWrapperImplicitInit() {
3356-
if (auto TE = dyn_cast<TypeExpr>(FnExpr)) {
3357-
if (TE->getInstanceType()
3358-
->getAnyNominal()
3359-
->getAttrs()
3360-
.hasAttribute<PropertyWrapperAttr>()) {
3361-
if (auto parent = CandidateInfo.CS.getParentExpr(FnExpr)) {
3362-
if (auto CE = dyn_cast<CallExpr>(parent)) {
3363-
return CE->isImplicit();
3364-
}
3365-
}
3366-
}
3367-
}
3368-
return false;
3356+
auto TE = dyn_cast<TypeExpr>(FnExpr);
3357+
if (!TE)
3358+
return false;
3359+
3360+
auto instanceTy = TE->getInstanceType();
3361+
if (!instanceTy)
3362+
return false;
3363+
3364+
auto nominalDecl = instanceTy->getAnyNominal();
3365+
if (!nominalDecl)
3366+
return false;
3367+
3368+
if (!nominalDecl->getAttrs().hasAttribute<PropertyWrapperAttr>())
3369+
return false;
3370+
3371+
auto parent = CandidateInfo.CS.getParentExpr(FnExpr);
3372+
if (!parent)
3373+
return false;
3374+
3375+
auto CE = dyn_cast<CallExpr>(parent);
3376+
if (!CE)
3377+
return false;
3378+
3379+
return CE->isImplicit();
33693380
}
33703381

33713382
bool missingLabel(unsigned paramIdx) override {

0 commit comments

Comments
 (0)