Skip to content

Commit 2e7f6ea

Browse files
committed
moved assert for Include-fixer to correct place
1 parent dad2ea2 commit 2e7f6ea

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

clang-tools-extra/clangd/Diagnostics.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -854,8 +854,6 @@ void StoreDiags::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
854854
if (Fixer) {
855855
auto ReplacementFixes = Fixer(*LastDiag, Info);
856856
if (!ReplacementFixes.empty()) {
857-
assert(Info.getNumFixItHints() == 0 &&
858-
"Include-fixer replaced a note with clang fix-its attached!");
859857
LastDiag->Fixes.insert(LastDiag->Fixes.end(), ReplacementFixes.begin(),
860858
ReplacementFixes.end());
861859
return;

clang-tools-extra/clangd/ParsedAST.cpp

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -656,16 +656,22 @@ ParsedAST::build(llvm::StringRef Filename, const ParseInputs &Inputs,
656656
: Symbol::Include;
657657
FixIncludes.emplace(Filename, Inserter, *Inputs.Index,
658658
/*IndexRequestLimit=*/5, Directive);
659-
ASTDiags.contributeFixes(
660-
[&FixIncludes, &CTContext](const Diag &Diag,
661-
const clang::Diagnostic &Info) {
662-
auto Fixes = std::vector<Fix>();
663-
auto NoLintFixes = noLintFixes(*CTContext, Info, Diag);
664-
Fixes.insert(Fixes.end(), NoLintFixes.begin(), NoLintFixes.end());
665-
auto IncludeFixes = FixIncludes->fix(Diag.Severity, Info);
666-
Fixes.insert(Fixes.end(), IncludeFixes.begin(), IncludeFixes.end());
667-
return Fixes;
668-
});
659+
ASTDiags.contributeFixes([&FixIncludes,
660+
&CTContext](const Diag &Diag,
661+
const clang::Diagnostic &Info) {
662+
auto Fixes = std::vector<Fix>();
663+
auto IncludeFixes = FixIncludes->fix(Diag.Severity, Info);
664+
665+
// Ensures that if clang later introduces its own fix-it for includes it
666+
// will get on our radar.
667+
assert((IncludeFixes.empty() || Info.getNumFixItHints() == 0) &&
668+
"Include-fixer replaced a note with clang fix-its attached!");
669+
670+
Fixes.insert(Fixes.end(), IncludeFixes.begin(), IncludeFixes.end());
671+
auto NoLintFixes = noLintFixes(*CTContext, Info, Diag);
672+
Fixes.insert(Fixes.end(), NoLintFixes.begin(), NoLintFixes.end());
673+
return Fixes;
674+
});
669675
Clang->setExternalSemaSource(FixIncludes->unresolvedNameRecorder());
670676
}
671677
}

0 commit comments

Comments
 (0)