@@ -426,13 +426,24 @@ namespace {
426
426
solution(solution), target(target),
427
427
SuppressDiagnostics(suppressDiagnostics) {}
428
428
429
+ ASTContext &getASTContext () const { return cs.getASTContext (); }
429
430
ConstraintSystem &getConstraintSystem () const { return cs; }
430
431
431
432
void addLocalDeclToTypeCheck (Decl *D) {
433
+ // If we're doing code completion, avoid doing any further type-checking,
434
+ // that should instead be handled by TypeCheckASTNodeAtLocRequest.
435
+ if (getASTContext ().CompletionCallback )
436
+ return ;
437
+
432
438
LocalDeclsToTypeCheck.push_back (D);
433
439
}
434
440
435
441
void addMacroToExpand (MacroExpansionExpr *E) {
442
+ // If we're doing code completion, avoid doing any further type-checking,
443
+ // that should instead be handled by TypeCheckASTNodeAtLocRequest.
444
+ if (getASTContext ().CompletionCallback )
445
+ return ;
446
+
436
447
MacrosToExpand.push_back (E);
437
448
}
438
449
@@ -5620,20 +5631,16 @@ namespace {
5620
5631
.fixItInsert (coercion->getStartLoc (), " consume " );
5621
5632
}
5622
5633
5623
- // If we're doing code completion, avoid doing any further type-checking,
5624
- // that should instead be handled by TypeCheckASTNodeAtLocRequest.
5625
- if (!ctx.CompletionCallback ) {
5626
- // Type-check any local decls encountered.
5627
- for (auto *D : LocalDeclsToTypeCheck)
5628
- TypeChecker::typeCheckDecl (D);
5629
-
5630
- // Expand any macros encountered.
5631
- // FIXME: Expansion should be lazy.
5632
- auto &eval = cs.getASTContext ().evaluator ;
5633
- for (auto *E : MacrosToExpand) {
5634
- (void )evaluateOrDefault (eval, ExpandMacroExpansionExprRequest{E},
5635
- std::nullopt);
5636
- }
5634
+ // Type-check any local decls encountered.
5635
+ for (auto *D : LocalDeclsToTypeCheck)
5636
+ TypeChecker::typeCheckDecl (D);
5637
+
5638
+ // Expand any macros encountered.
5639
+ // FIXME: Expansion should be lazy.
5640
+ auto &eval = cs.getASTContext ().evaluator ;
5641
+ for (auto *E : MacrosToExpand) {
5642
+ (void )evaluateOrDefault (eval, ExpandMacroExpansionExprRequest{E},
5643
+ std::nullopt);
5637
5644
}
5638
5645
}
5639
5646
0 commit comments