19#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_CANONICALINCLUDES_H
20#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_CANONICALINCLUDES_H
22#include "clang/Basic/FileEntry.h"
23#include "clang/Lex/Preprocessor.h"
24#include "llvm/ADT/StringMap.h"
25#include "llvm/ADT/StringRef.h"
26#include "llvm/Support/FileSystem/UniqueID.h"
40 void addMapping(FileEntryRef Header, llvm::StringRef CanonicalPath);
43 llvm::StringRef
mapSymbol(llvm::StringRef QualifiedName)
const;
46 llvm::StringRef
mapHeader(FileEntryRef Header)
const;
60 llvm::DenseMap<llvm::sys::fs::UniqueID, std::string> FullPathMapping;
63 const llvm::StringMap<llvm::StringRef> *StdSuffixHeaderMapping =
nullptr;
66 const llvm::StringMap<llvm::StringRef> *StdSymbolMapping =
nullptr;
90std::unique_ptr<CommentHandler>
Maps a definition location onto an #include file, based on a set of filename rules.
void addMapping(FileEntryRef Header, llvm::StringRef CanonicalPath)
Adds a file-to-string mapping from ID to CanonicalPath.
void addSystemHeadersMapping(const LangOptions &Language)
Adds mapping for system headers and some special symbols (e.g.
llvm::StringRef mapHeader(FileEntryRef Header) const
Returns the overridden include for files in Header, or "".
llvm::StringRef mapSymbol(llvm::StringRef QualifiedName) const
Returns the overridden include for symbol with QualifiedName, or "".
std::unique_ptr< CommentHandler > collectIWYUHeaderMaps(CanonicalIncludes *Includes)
Returns a CommentHandler that parses pragma comment on include files to determine when we should incl...
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//