[Refactoring] Handle closures with capture list in async refactoring

Resolves rdar://74064061
This commit is contained in:
Ben Barham
2021-02-09 09:30:15 +10:00
parent 9cddf498de
commit bc5229701e
2 changed files with 21 additions and 1 deletions

View File

@@ -4991,7 +4991,12 @@ private:
DiagEngine.diagnose(CE->getStartLoc(), diag::missing_callback_arg);
return;
}
auto Callback = dyn_cast<ClosureExpr>(ArgList.ref()[HandlerDesc.Index]);
auto Capture = dyn_cast<CaptureListExpr>(ArgList.ref()[HandlerDesc.Index]);
if (Capture) {
Callback = Capture->getClosureBody();
}
if (!Callback) {
DiagEngine.diagnose(CE->getStartLoc(), diag::missing_callback_arg);
return;