LLVM: lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

11

12using namespace llvm;

14

16 : Enumerator(DiaEnumerator) {}

17

20 return (S_OK == Enumerator->get_Count(&Count)) ? Count : 0;

21}

22

23std::unique_ptr

25 CComPtr Item;

26 VARIANT Var;

27 Var.vt = VT_UINT;

28 Var.uintVal = Index;

29 if (S_OK != Enumerator->Item(Var, &Item))

30 return nullptr;

31

32 return std::unique_ptr(new DIATable(Item));

33}

34

36 CComPtr Item;

37 ULONG CeltFetched = 0;

38 if (S_OK != Enumerator->Next(1, &Item, &CeltFetched))

39 return nullptr;

40

41 return std::unique_ptr(new DIATable(Item));

42}

43

uint32_t getChildCount() const override

Definition DIAEnumTables.cpp:18

std::unique_ptr< IPDBTable > getChildAtIndex(uint32_t Index) const override

Definition DIAEnumTables.cpp:24

void reset() override

Definition DIAEnumTables.cpp:44

std::unique_ptr< IPDBTable > getNext() override

Definition DIAEnumTables.cpp:35

DIAEnumTables(CComPtr< IDiaEnumTables > DiaEnumerator)

Definition DIAEnumTables.cpp:15

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr Count