#include "llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecordMapping.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/BinaryByteStream.h"
#include "llvm/Support/BinaryItemStream.h"
#include "llvm/Support/Error.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
namespace llvm {
namespace codeview {
inline bool operator==(const ArrayRecord &R1, const ArrayRecord &R2) { … }
inline bool operator!=(const ArrayRecord &R1, const ArrayRecord &R2) { … }
inline bool operator==(const CVType &R1, const CVType &R2) { … }
inline bool operator!=(const CVType &R1, const CVType &R2) { … }
}
}
namespace llvm {
template <> struct BinaryItemTraits<CVType> { … };
}
namespace {
class MockCallbacks : public TypeVisitorCallbacks { … };
class RandomAccessVisitorTest : public testing::Test { … };
std::unique_ptr<RandomAccessVisitorTest::GlobalTestState>
RandomAccessVisitorTest::GlobalState;
}
TEST_F(RandomAccessVisitorTest, MultipleVisits) { … }
TEST_F(RandomAccessVisitorTest, DescendingWithinChunk) { … }
TEST_F(RandomAccessVisitorTest, AscendingWithinChunk) { … }
TEST_F(RandomAccessVisitorTest, StopPrematurelyInChunk) { … }
TEST_F(RandomAccessVisitorTest, InnerChunk) { … }
TEST_F(RandomAccessVisitorTest, CrossChunkName) { … }