@@ -544,11 +544,9 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
544
544
}
545
545
}
546
546
547
- // FIXME: Remove TypeChecker dependency.
548
- auto &TC = *Ctx.getLegacyGlobalTypeChecker ();
549
- auto exprTy = TC.typeCheckExpression (E, DC, TypeLoc::withoutLoc (ResultTy),
550
- ctp,
551
- options);
547
+ auto exprTy = TypeChecker::typeCheckExpression (E, DC,
548
+ TypeLoc::withoutLoc (ResultTy),
549
+ ctp, options);
552
550
RS->setResult (E);
553
551
554
552
if (!exprTy) {
@@ -607,11 +605,9 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
607
605
contextTypePurpose = CTP_YieldByValue;
608
606
}
609
607
610
- // FIXME: Remove TypeChecker dependency.
611
- auto &TC = *Ctx.getLegacyGlobalTypeChecker ();
612
- TC.typeCheckExpression (exprToCheck, DC,
613
- TypeLoc::withoutLoc (contextType),
614
- contextTypePurpose);
608
+ TypeChecker::typeCheckExpression (exprToCheck, DC,
609
+ TypeLoc::withoutLoc (contextType),
610
+ contextTypePurpose);
615
611
616
612
// Propagate the change into the inout expression we stripped before.
617
613
if (inout) {
@@ -641,8 +637,8 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
641
637
if (!exnType) return TS;
642
638
643
639
// FIXME: Remove TypeChecker dependency.
644
- auto &TC = *Ctx. getLegacyGlobalTypeChecker ();
645
- TC. typeCheckExpression (E, DC, TypeLoc::withoutLoc (exnType), CTP_ThrowStmt);
640
+ TypeChecker::typeCheckExpression (E, DC, TypeLoc::withoutLoc (exnType),
641
+ CTP_ThrowStmt);
646
642
TS->setSubExpr (E);
647
643
648
644
return TS;
@@ -659,13 +655,10 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
659
655
}
660
656
661
657
Stmt *visitDeferStmt (DeferStmt *DS) {
662
- // FIXME: Remove TypeChecker dependency.
663
- auto &TC = *Ctx.getLegacyGlobalTypeChecker ();
664
-
665
- TC.typeCheckDecl (DS->getTempDecl ());
658
+ TypeChecker::typeCheckDecl (DS->getTempDecl ());
666
659
667
660
Expr *theCall = DS->getCallExpr ();
668
- TC. typeCheckExpression (theCall, DC);
661
+ TypeChecker:: typeCheckExpression (theCall, DC);
669
662
DS->setCallExpr (theCall);
670
663
671
664
return DS;
@@ -1314,7 +1307,7 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
1314
1307
1315
1308
// Type-check the subject expression.
1316
1309
Expr *subjectExpr = switchStmt->getSubjectExpr ();
1317
- auto resultTy = TC. typeCheckExpression (subjectExpr, DC);
1310
+ auto resultTy = TypeChecker:: typeCheckExpression (subjectExpr, DC);
1318
1311
auto limitExhaustivityChecks = !resultTy;
1319
1312
if (Expr *newSubjectExpr =
1320
1313
TypeChecker::coerceToRValue (getASTContext (), subjectExpr))
@@ -1331,7 +1324,7 @@ class StmtChecker : public StmtVisitor<StmtChecker, Stmt*> {
1331
1324
for (auto &node : switchStmt->getRawCases ()) {
1332
1325
if (!node.is <Decl *>())
1333
1326
continue ;
1334
- TC. typeCheckDecl (node.get <Decl *>());
1327
+ TypeChecker:: typeCheckDecl (node.get <Decl *>());
1335
1328
}
1336
1329
1337
1330
SmallVector<VarDecl *, 8 > scratchMemory1;
@@ -1838,8 +1831,6 @@ Stmt *StmtChecker::visitBraceStmt(BraceStmt *BS) {
1838
1831
}
1839
1832
}
1840
1833
1841
- // FIXME: Remove TypeChecker dependencies below.
1842
- auto &TC = *Ctx.getLegacyGlobalTypeChecker ();
1843
1834
for (auto &elem : BS->getElements ()) {
1844
1835
if (auto *SubExpr = elem.dyn_cast <Expr*>()) {
1845
1836
SourceLoc Loc = SubExpr->getStartLoc ();
@@ -1862,7 +1853,8 @@ Stmt *StmtChecker::visitBraceStmt(BraceStmt *BS) {
1862
1853
}
1863
1854
1864
1855
auto resultTy =
1865
- TC.typeCheckExpression (SubExpr, DC, TypeLoc (), CTP_Unused, options);
1856
+ TypeChecker::typeCheckExpression (SubExpr, DC, TypeLoc (),
1857
+ CTP_Unused, options);
1866
1858
1867
1859
// If a closure expression is unused, the user might have intended
1868
1860
// to write "do { ... }".
@@ -1901,7 +1893,7 @@ Stmt *StmtChecker::visitBraceStmt(BraceStmt *BS) {
1901
1893
(Loc == EndTypeCheckLoc || SM.isBeforeInBuffer (EndTypeCheckLoc, Loc)))
1902
1894
break ;
1903
1895
1904
- TC. typeCheckDecl (SubDecl);
1896
+ TypeChecker:: typeCheckDecl (SubDecl);
1905
1897
}
1906
1898
1907
1899
return BS;
@@ -1941,11 +1933,10 @@ static Expr* constructCallToSuperInit(ConstructorDecl *ctor,
1941
1933
if (ctor->hasThrows ())
1942
1934
r = new (Context) TryExpr (SourceLoc (), r, Type (), /* implicit=*/ true );
1943
1935
1944
- TypeChecker &tc = *Context.getLegacyGlobalTypeChecker ();
1945
1936
DiagnosticSuppression suppression (ctor->getASTContext ().Diags );
1946
1937
auto resultTy =
1947
- tc. typeCheckExpression (r, ctor, TypeLoc (), CTP_Unused,
1948
- TypeCheckExprFlags::IsDiscarded);
1938
+ TypeChecker:: typeCheckExpression (r, ctor, TypeLoc (), CTP_Unused,
1939
+ TypeCheckExprFlags::IsDiscarded);
1949
1940
if (!resultTy)
1950
1941
return nullptr ;
1951
1942
0 commit comments