forked from OSchip/llvm-project
Revert "[clangd] Copy existing includes in ReplayPreamble"
This reverts commit bff0c56ff9
. I've
pushed the earlier version of the patch by mistake.
This commit is contained in:
parent
dd3ebe223e
commit
a0f13b3374
|
@ -136,8 +136,7 @@ private:
|
|||
ReplayPreamble(const IncludeStructure &Includes, PPCallbacks *Delegate,
|
||||
const SourceManager &SM, Preprocessor &PP,
|
||||
const LangOptions &LangOpts, const PreambleBounds &PB)
|
||||
: IncludesToReplay(Includes.MainFileIncludes), Delegate(Delegate), SM(SM),
|
||||
PP(PP) {
|
||||
: Includes(Includes), Delegate(Delegate), SM(SM), PP(PP) {
|
||||
// Only tokenize the preamble section of the main file, as we are not
|
||||
// interested in the rest of the tokens.
|
||||
MainFileTokens = syntax::tokenize(
|
||||
|
@ -168,7 +167,7 @@ private:
|
|||
}
|
||||
|
||||
void replay() {
|
||||
for (const auto &Inc : IncludesToReplay) {
|
||||
for (const auto &Inc : Includes.MainFileIncludes) {
|
||||
const FileEntry *File = nullptr;
|
||||
if (Inc.Resolved != "")
|
||||
if (auto FE = SM.getFileManager().getFile(Inc.Resolved))
|
||||
|
@ -228,7 +227,7 @@ private:
|
|||
}
|
||||
}
|
||||
|
||||
std::vector<Inclusion> IncludesToReplay;
|
||||
const IncludeStructure &Includes;
|
||||
PPCallbacks *Delegate;
|
||||
const SourceManager &SM;
|
||||
Preprocessor &PP;
|
||||
|
|
|
@ -328,8 +328,6 @@ TEST(ParsedASTTest, CollectsMainFileMacroExpansions) {
|
|||
testing::UnorderedElementsAreArray(TestCase.points()));
|
||||
}
|
||||
|
||||
MATCHER_P(WithFileName, Inc, "") { return arg.FileName == Inc; }
|
||||
|
||||
TEST(ParsedASTTest, ReplayPreambleForTidyCheckers) {
|
||||
struct Inclusion {
|
||||
Inclusion(const SourceManager &SM, SourceLocation HashLoc,
|
||||
|
@ -441,24 +439,6 @@ TEST(ParsedASTTest, ReplayPreambleForTidyCheckers) {
|
|||
Code.substr(FileRange.Begin - 1, FileRange.End - FileRange.Begin + 2));
|
||||
EXPECT_EQ(SkippedFiles[I].kind(), tok::header_name);
|
||||
}
|
||||
|
||||
// Make sure replay logic works with patched preambles.
|
||||
TU.Code = "";
|
||||
StoreDiags Diags;
|
||||
auto Inputs = TU.inputs();
|
||||
auto CI = buildCompilerInvocation(Inputs, Diags);
|
||||
auto EmptyPreamble =
|
||||
buildPreamble(testPath(TU.Filename), *CI, Inputs, true, nullptr);
|
||||
ASSERT_TRUE(EmptyPreamble);
|
||||
TU.Code = "#include <a.h>";
|
||||
Includes.clear();
|
||||
auto PatchedAST = ParsedAST::build(testPath(TU.Filename), TU.inputs(),
|
||||
std::move(CI), {}, EmptyPreamble);
|
||||
ASSERT_TRUE(PatchedAST);
|
||||
// Make sure includes were seen only once.
|
||||
EXPECT_THAT(Includes,
|
||||
ElementsAre(WithFileName(testPath("__preamble_patch__.h")),
|
||||
WithFileName("a.h")));
|
||||
}
|
||||
|
||||
TEST(ParsedASTTest, PatchesAdditionalIncludes) {
|
||||
|
|
Loading…
Reference in New Issue