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/SmallVector.h" 23 #include "llvm/Bitcode/BitstreamReader.h" 37 enum class Cursor { BadBlock = 1,
Record, BlockEnd, BlockBegin };
40 bool validateStream();
42 bool readBlockInfoBlock();
46 template <
typename T>
bool readBlock(
unsigned ID, T I);
49 template <
typename T>
bool readSubBlock(
unsigned ID, T I);
53 template <
typename T>
bool readRecord(
unsigned ID, T I);
56 template <
typename T> std::unique_ptr<Info> createInfo(
unsigned ID);
60 Cursor skipUntilRecordOrBlock(
unsigned &BlockOrRecordID);
63 std::unique_ptr<Info> readBlockToInfo(
unsigned ID);
65 llvm::BitstreamCursor &Stream;
66 Optional<llvm::BitstreamBlockInfo> BlockInfo;
73 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_BITCODEREADER_H
ClangDocBitcodeReader(llvm::BitstreamCursor &Stream)
llvm::SmallVector< uint64_t, 1024 > Record
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
std::vector< std::unique_ptr< Info > > readBitcode()