16 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_BITCODEREADER_H 17 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_BITCODEREADER_H 21 #include "clang/AST/AST.h" 22 #include "llvm/ADT/Optional.h" 23 #include "llvm/ADT/SmallVector.h" 24 #include "llvm/Bitcode/BitstreamReader.h" 25 #include "llvm/Support/Error.h" 36 llvm::Expected<std::vector<std::unique_ptr<Info>>>
readBitcode();
39 enum class Cursor { BadBlock = 1,
Record, BlockEnd, BlockBegin };
42 llvm::Error validateStream();
43 llvm::Error readVersion();
44 llvm::Error readBlockInfoBlock();
48 template <
typename T> llvm::Error readBlock(
unsigned ID, T I);
51 template <
typename T> llvm::Error readSubBlock(
unsigned ID, T I);
55 template <
typename T> llvm::Error readRecord(
unsigned ID, T I);
59 llvm::Expected<std::unique_ptr<Info>> createInfo(
unsigned ID);
63 Cursor skipUntilRecordOrBlock(
unsigned &BlockOrRecordID);
66 llvm::Expected<std::unique_ptr<Info>> readBlockToInfo(
unsigned ID);
68 llvm::BitstreamCursor &Stream;
69 Optional<llvm::BitstreamBlockInfo> BlockInfo;
76 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_BITCODEREADER_H
ClangDocBitcodeReader(llvm::BitstreamCursor &Stream)
llvm::SmallVector< uint64_t, 1024 > Record
llvm::Expected< std::vector< std::unique_ptr< Info > > > readBitcode()
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//