From a0f13b33742372bf00640eb18a2f3229176fc77d Mon Sep 17 00:00:00 2001 From: Kadir Cetinkaya Date: Tue, 2 Jun 2020 14:30:52 +0200 Subject: [PATCH] Revert "[clangd] Copy existing includes in ReplayPreamble" This reverts commit bff0c56ff92106afad22b54a90e1c612da4d6f99. I've pushed the earlier version of the patch by mistake. --- clang-tools-extra/clangd/ParsedAST.cpp | 7 +++---- .../clangd/unittests/ParsedASTTests.cpp | 20 ------------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/clang-tools-extra/clangd/ParsedAST.cpp b/clang-tools-extra/clangd/ParsedAST.cpp index 9eed9bc3199f..082c7cae0021 100644 --- a/clang-tools-extra/clangd/ParsedAST.cpp +++ b/clang-tools-extra/clangd/ParsedAST.cpp @@ -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 IncludesToReplay; + const IncludeStructure &Includes; PPCallbacks *Delegate; const SourceManager &SM; Preprocessor &PP; diff --git a/clang-tools-extra/clangd/unittests/ParsedASTTests.cpp b/clang-tools-extra/clangd/unittests/ParsedASTTests.cpp index 0ad4a9f20ccb..d86f741d9e72 100644 --- a/clang-tools-extra/clangd/unittests/ParsedASTTests.cpp +++ b/clang-tools-extra/clangd/unittests/ParsedASTTests.cpp @@ -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 "; - 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) {