clang-tools 20.0.0git
Classes | Namespaces | Typedefs | Functions
Preamble.h File Reference
#include "CollectMacros.h"
#include "Compiler.h"
#include "Diagnostics.h"
#include "FS.h"
#include "Headers.h"
#include "ModulesBuilder.h"
#include "clang-include-cleaner/Record.h"
#include "support/Path.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TargetOptions.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Frontend/PrecompiledPreamble.h"
#include "clang/Lex/Lexer.h"
#include "clang/Tooling/CompilationDatabase.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include <cstddef>
#include <functional>
#include <memory>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  clang::clangd::CapturedASTCtx
 The captured AST context. More...
 
struct  clang::clangd::PreambleData
 The parsed preamble and associated data. More...
 
struct  clang::clangd::PreambleBuildStats
 Timings and statistics from the premble build. More...
 
class  clang::clangd::PreamblePatch
 Stores information required to parse a TU using a (possibly stale) Baseline preamble. More...
 

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::clangd
 FIXME: Skip testing on windows temporarily due to the different escaping code mode.
 

Typedefs

using clang::clangd::PreambleParsedCallback = std::function< void(CapturedASTCtx ASTCtx, std::shared_ptr< const include_cleaner::PragmaIncludes >)>
 

Functions

std::shared_ptr< const PreambleData > clang::clangd::buildPreamble (PathRef FileName, CompilerInvocation CI, const ParseInputs &Inputs, bool StoreInMemory, PreambleParsedCallback PreambleCallback, PreambleBuildStats *Stats=nullptr)
 Build a preamble for the new inputs unless an old one can be reused.
 
bool clang::clangd::isPreambleCompatible (const PreambleData &Preamble, const ParseInputs &Inputs, PathRef FileName, const CompilerInvocation &CI)
 Returns true if Preamble is reusable for Inputs.