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

Go to the documentation of this file.

1

2

3

4

5

6

7

8

12

13using namespace llvm;

15

17 CComPtr DiaEnumerator)

18 : Enumerator(DiaEnumerator) {}

19

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

23}

24

25std::unique_ptr

27 CComPtr Item;

28 VARIANT VarIndex;

29 VarIndex.vt = VT_I4;

30 VarIndex.lVal = Index;

31 if (S_OK != Enumerator->Item(VarIndex, &Item))

32 return nullptr;

33

34 return std::unique_ptr(new DIADataStream(Item));

35}

36

38 CComPtr Item;

39 ULONG NumFetched = 0;

40 if (S_OK != Enumerator->Next(1, &Item, &NumFetched))

41 return nullptr;

42

43 return std::unique_ptr(new DIADataStream(Item));

44}

45

DIAEnumDebugStreams(CComPtr< IDiaEnumDebugStreams > DiaEnumerator)

Definition DIAEnumDebugStreams.cpp:16

void reset() override

Definition DIAEnumDebugStreams.cpp:46

ChildTypePtr getChildAtIndex(uint32_t Index) const override

Definition DIAEnumDebugStreams.cpp:26

uint32_t getChildCount() const override

Definition DIAEnumDebugStreams.cpp:20

ChildTypePtr getNext() override

Definition DIAEnumDebugStreams.cpp:37

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr Count