LLVM
22.0.0git
lib
DebugInfo
PDB
Native
NativeEnumModules.cpp
Go to the documentation of this file.
1
//==- NativeEnumModules.cpp - Native Symbol Enumerator impl ------*- 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/Native/NativeEnumModules.h
"
10
11
#include "
llvm/DebugInfo/PDB/Native/NativeSession.h
"
12
#include "
llvm/DebugInfo/PDB/Native/SymbolCache.h
"
13
#include "
llvm/DebugInfo/PDB/PDBSymbol.h
"
14
#include "
llvm/DebugInfo/PDB/PDBSymbolCompiland.h
"
15
16
namespace
llvm
{
17
namespace
pdb
{
18
19
NativeEnumModules::NativeEnumModules
(
NativeSession
&PDBSession,
uint32_t
Index)
20
: Session(PDBSession), Index(Index) {}
21
22
uint32_t
NativeEnumModules::getChildCount
()
const
{
23
return
Session.getSymbolCache().getNumCompilands();
24
}
25
26
std::unique_ptr<PDBSymbol>
27
NativeEnumModules::getChildAtIndex
(
uint32_t
N
)
const
{
28
return
Session.getSymbolCache().getOrCreateCompiland(
N
);
29
}
30
31
std::unique_ptr<PDBSymbol>
NativeEnumModules::getNext
() {
32
if
(Index >=
getChildCount
())
33
return
nullptr
;
34
return
getChildAtIndex
(Index++);
35
}
36
37
void
NativeEnumModules::reset
() { Index = 0; }
38
39
}
40
}
NativeEnumModules.h
NativeSession.h
PDBSymbolCompiland.h
PDBSymbol.h
SymbolCache.h
llvm::pdb::NativeEnumModules::NativeEnumModules
NativeEnumModules(NativeSession &Session, uint32_t Index=0)
Definition
NativeEnumModules.cpp:19
llvm::pdb::NativeEnumModules::reset
void reset() override
Definition
NativeEnumModules.cpp:37
llvm::pdb::NativeEnumModules::getChildCount
uint32_t getChildCount() const override
Definition
NativeEnumModules.cpp:22
llvm::pdb::NativeEnumModules::getChildAtIndex
std::unique_ptr< PDBSymbol > getChildAtIndex(uint32_t Index) const override
Definition
NativeEnumModules.cpp:27
llvm::pdb::NativeEnumModules::getNext
std::unique_ptr< PDBSymbol > getNext() override
Definition
NativeEnumModules.cpp:31
llvm::pdb::NativeSession
Definition
NativeSession.h:33
uint32_t
llvm::pdb
Definition
LVCodeViewReader.h:44
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
AddressRanges.h:18
N
#define N
Generated on
for LLVM by
1.14.0