19 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_CANONICALINCLUDES_H 20 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_CANONICALINCLUDES_H 22 #include "clang/Lex/Preprocessor.h" 23 #include "llvm/ADT/StringMap.h" 24 #include "llvm/ADT/StringRef.h" 25 #include "llvm/Support/Regex.h" 39 void addMapping(llvm::StringRef
Path, llvm::StringRef CanonicalPath);
44 llvm::StringRef
mapHeader(llvm::StringRef Header,
45 llvm::StringRef QualifiedName)
const;
59 llvm::StringMap<std::string> FullPathMapping;
62 const llvm::StringMap<llvm::StringRef> *StdSuffixHeaderMapping =
nullptr;
65 const llvm::StringMap<llvm::StringRef> *StdSymbolMapping =
nullptr;
74 std::unique_ptr<CommentHandler>
80 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_HEADERMAPCOLLECTOR_H std::unique_ptr< CommentHandler > collectIWYUHeaderMaps(CanonicalIncludes *Includes)
Returns a CommentHandler that parses pragma comment on include files to determine when we should incl...
Maps a definition location onto an #include file, based on a set of filename rules.
void addSystemHeadersMapping(const LangOptions &Language)
Adds mapping for system headers and some special symbols (e.g.
void addMapping(llvm::StringRef Path, llvm::StringRef CanonicalPath)
Adds a string-to-string mapping from Path to CanonicalPath.
llvm::StringRef mapHeader(llvm::StringRef Header, llvm::StringRef QualifiedName) const
Returns the canonical include for symbol with QualifiedName.
std::string Path
A typedef to represent a file path.
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//