LLVM
22.0.0git
lib
DebugInfo
PDB
DIA
DIAEnumFrameData.cpp
Go to the documentation of this file.
1
//==- DIAEnumFrameData.cpp ---------------------------------------*- C++ -*-==//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "
llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h
"
10
#include "
llvm/DebugInfo/PDB/DIA/DIAFrameData.h
"
11
#include "
llvm/DebugInfo/PDB/DIA/DIASession.h
"
12
13
using namespace
llvm::pdb
;
14
15
DIAEnumFrameData::DIAEnumFrameData
(CComPtr<IDiaEnumFrameData> DiaEnumerator)
16
: Enumerator(DiaEnumerator) {}
17
18
uint32_t
DIAEnumFrameData::getChildCount
()
const
{
19
LONG
Count
= 0;
20
return
(S_OK == Enumerator->get_Count(&
Count
)) ?
Count
: 0;
21
}
22
23
std::unique_ptr<IPDBFrameData>
24
DIAEnumFrameData::getChildAtIndex
(
uint32_t
Index)
const
{
25
CComPtr<IDiaFrameData> Item;
26
if
(S_OK != Enumerator->Item(Index, &Item))
27
return
nullptr
;
28
29
return
std::unique_ptr<IPDBFrameData>(
new
DIAFrameData
(Item));
30
}
31
32
std::unique_ptr<IPDBFrameData>
DIAEnumFrameData::getNext
() {
33
CComPtr<IDiaFrameData> Item;
34
ULONG NumFetched = 0;
35
if
(S_OK != Enumerator->Next(1, &Item, &NumFetched))
36
return
nullptr
;
37
38
return
std::unique_ptr<IPDBFrameData>(
new
DIAFrameData
(Item));
39
}
40
41
void
DIAEnumFrameData::reset
() { Enumerator->Reset(); }
DIAEnumFrameData.h
DIAFrameData.h
DIASession.h
llvm::pdb::DIAEnumFrameData::getNext
ChildTypePtr getNext() override
Definition
DIAEnumFrameData.cpp:32
llvm::pdb::DIAEnumFrameData::getChildAtIndex
ChildTypePtr getChildAtIndex(uint32_t Index) const override
Definition
DIAEnumFrameData.cpp:24
llvm::pdb::DIAEnumFrameData::getChildCount
uint32_t getChildCount() const override
Definition
DIAEnumFrameData.cpp:18
llvm::pdb::DIAEnumFrameData::reset
void reset() override
Definition
DIAEnumFrameData.cpp:41
llvm::pdb::DIAEnumFrameData::DIAEnumFrameData
DIAEnumFrameData(CComPtr< IDiaEnumFrameData > DiaEnumerator)
Definition
DIAEnumFrameData.cpp:15
llvm::pdb::DIAFrameData
Definition
DIAFrameData.h:20
uint32_t
llvm::pdb
Definition
LVCodeViewReader.h:44
llvm::Count
FunctionAddr VTableAddr Count
Definition
InstrProf.h:139
Generated on
for LLVM by
1.14.0