Mercurial > hg > CbC > CbC_llvm
diff clang-tools-extra/clangd/Compiler.h @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | 0572611fdcc8 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/clang-tools-extra/clangd/Compiler.h Tue Jun 15 19:13:43 2021 +0900 +++ b/clang-tools-extra/clangd/Compiler.h Tue Jun 15 19:15:29 2021 +0900 @@ -15,12 +15,16 @@ #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILER_H #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILER_H -#include "../clang-tidy/ClangTidyOptions.h" +#include "FeatureModule.h" #include "GlobalCompilationDatabase.h" +#include "TidyProvider.h" #include "index/Index.h" +#include "support/ThreadsafeFS.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/PrecompiledPreamble.h" #include "clang/Tooling/CompilationDatabase.h" +#include <memory> +#include <vector> namespace clang { namespace clangd { @@ -36,16 +40,13 @@ // Options to run clang e.g. when parsing AST. struct ParseOptions { - tidy::ClangTidyOptions ClangTidyOpts; - bool SuggestMissingIncludes = false; - bool BuildRecoveryAST = false; - bool PreserveRecoveryASTType = false; + // (empty at present, formerly controlled recovery AST, include-fixer etc) }; /// Information required to run clang, e.g. to parse AST or do code completion. struct ParseInputs { tooling::CompileCommand CompileCommand; - IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS; + const ThreadsafeFS *TFS; std::string Contents; // Version identifier for Contents, provided by the client and opaque to us. std::string Version = "null"; @@ -54,7 +55,10 @@ bool ForceRebuild = false; // Used to recover from diagnostics (e.g. find missing includes for symbol). const SymbolIndex *Index = nullptr; - ParseOptions Opts; + ParseOptions Opts = ParseOptions(); + TidyProviderRef ClangTidyProvider = {}; + // Used to acquire ASTListeners when parsing files. + FeatureModuleSet *FeatureModules = nullptr; }; /// Builds compiler invocation that could be used to build AST or preamble.