Skip to content

Commit c6b7ff3

Browse files
committed
[TypeChecker] Consolidate StmtChecker constructors
1 parent 15fcbc1 commit c6b7ff3

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

lib/Sema/TypeCheckStmt.cpp

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -364,18 +364,15 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
364364
}
365365
};
366366

367-
StmtChecker(AbstractFunctionDecl *AFD)
368-
: Ctx(AFD->getASTContext()), TheFunc(AFD), DC(AFD),
369-
IsBraceStmtFromTopLevelDecl(false) {}
370-
371-
StmtChecker(ClosureExpr *TheClosure)
372-
: Ctx(TheClosure->getASTContext()), TheFunc(TheClosure),
373-
DC(TheClosure), IsBraceStmtFromTopLevelDecl(false) {}
374-
375367
StmtChecker(DeclContext *DC)
376368
: Ctx(DC->getASTContext()), TheFunc(), DC(DC),
377369
IsBraceStmtFromTopLevelDecl(false) {
378-
IsBraceStmtFromTopLevelDecl = isa<TopLevelCodeDecl>(DC);
370+
if (auto *AFD = dyn_cast<AbstractFunctionDecl>(DC))
371+
TheFunc = AFD;
372+
else if (auto *CE = dyn_cast<ClosureExpr>(DC))
373+
TheFunc = CE;
374+
else if (isa<TopLevelCodeDecl>(DC))
375+
IsBraceStmtFromTopLevelDecl = true;
379376
}
380377

381378
//===--------------------------------------------------------------------===//

0 commit comments

Comments
 (0)