class SerializablePathCollection
Declaration
class SerializablePathCollection { /* full declaration omitted */ };
Description
Stores file paths and produces serialization-friendly representation.
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:86
Member Variables
- private std::string WorkDir
- private std::string SysRoot
- private clang::index::PathPool Paths
- private llvm::DenseMap<const clang::FileEntry*, std::size_t> UniqueFiles
- private llvm::StringMap<PathPool::DirPath, llvm::BumpPtrAllocator> UniqueDirs
- public const StringPool::StringOffsetSize WorkDirPath
- public const StringPool::StringOffsetSize SysRootPath
- public const StringPool::StringOffsetSize OutputFilePath
Method Overview
- public SerializablePathCollection(llvm::StringRef CurrentWorkDir, llvm::StringRef SysRoot, llvm::StringRef OutputFile)
- public ArrayRef<PathPool::FilePath> getFilePaths() const
- public llvm::StringRef getPathsBuffer() const
- private StringPool::StringOffsetSize storePath(llvm::StringRef Path)
- private PathPool::DirPath tryStoreDirPath(llvm::StringRef dirStr)
- public size_t tryStoreFilePath(const clang::FileEntry & FE)
Methods
¶SerializablePathCollection(
llvm::StringRef CurrentWorkDir,
llvm::StringRef SysRoot,
llvm::StringRef OutputFile)
SerializablePathCollection(
llvm::StringRef CurrentWorkDir,
llvm::StringRef SysRoot,
llvm::StringRef OutputFile)
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:99
Parameters
- llvm::StringRef CurrentWorkDir
- llvm::StringRef SysRoot
- llvm::StringRef OutputFile
¶ArrayRef<PathPool::FilePath> getFilePaths() const
ArrayRef<PathPool::FilePath> getFilePaths() const
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:108
Returns
file paths (no directories) backed by buffer exposed in getPathsBuffer.
¶llvm::StringRef getPathsBuffer() const
llvm::StringRef getPathsBuffer() const
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:104
Returns
buffer containing all the paths.
¶StringPool::StringOffsetSize storePath(
llvm::StringRef Path)
StringPool::StringOffsetSize storePath(
llvm::StringRef Path)
Description
Stores \p Path if it is non-empty. Warning: this method doesn't check for uniqueness.
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:120
Parameters
- llvm::StringRef Path
Returns
offset of \p Path value begin in buffer with stored paths.
¶PathPool::DirPath tryStoreDirPath(
llvm::StringRef dirStr)
PathPool::DirPath tryStoreDirPath(
llvm::StringRef dirStr)
Description
Stores \p dirStr path if it hasn't been stored yet.
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:123
Parameters
- llvm::StringRef dirStr
¶size_t tryStoreFilePath(
const clang::FileEntry& FE)
size_t tryStoreFilePath(
const clang::FileEntry& FE)
Description
Stores path to \p FE if it hasn't been stored yet.
Declared at: clang/include/clang/IndexSerialization/SerializablePathCollection.h:114
Parameters
- const clang::FileEntry& FE
Returns
index to array exposed by getPathsBuffer().