LLVM: lib/DebugInfo/PDB/DIA/DIAEnumLineNumbers.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 if (S_OK != Enumerator->Item(Index, &Item))

29 return nullptr;

30

31 return std::unique_ptr(new DIALineNumber(Item));

32}

33

35 CComPtr Item;

36 ULONG NumFetched = 0;

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

38 return nullptr;

39

40 return std::unique_ptr(new DIALineNumber(Item));

41}

42

uint32_t getChildCount() const override

Definition DIAEnumLineNumbers.cpp:20

ChildTypePtr getChildAtIndex(uint32_t Index) const override

Definition DIAEnumLineNumbers.cpp:26

void reset() override

Definition DIAEnumLineNumbers.cpp:43

ChildTypePtr getNext() override

Definition DIAEnumLineNumbers.cpp:34

DIAEnumLineNumbers(CComPtr< IDiaEnumLineNumbers > DiaEnumerator)

Definition DIAEnumLineNumbers.cpp:16

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr Count