LLVM  14.0.0git
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 
10 
18 
19 namespace llvm {
20 namespace pdb {
21 
23  : Session(PDBSession), Index(Index) {}
24 
26  return Session.getSymbolCache().getNumCompilands();
27 }
28 
29 std::unique_ptr<PDBSymbol>
31  return Session.getSymbolCache().getOrCreateCompiland(N);
32 }
33 
34 std::unique_ptr<PDBSymbol> NativeEnumModules::getNext() {
35  if (Index >= getChildCount())
36  return nullptr;
37  return getChildAtIndex(Index++);
38 }
39 
40 void NativeEnumModules::reset() { Index = 0; }
41 
42 }
43 }
llvm
This file implements support for optimizing divisions by a constant.
Definition: AllocatorList.h:23
NativeCompilandSymbol.h
llvm::pdb::NativeEnumModules::NativeEnumModules
NativeEnumModules(NativeSession &Session, uint32_t Index=0)
Definition: NativeEnumModules.cpp:22
NativeEnumModules.h
llvm::pdb::NativeEnumModules::getNext
std::unique_ptr< PDBSymbol > getNext() override
Definition: NativeEnumModules.cpp:34
PDBSymbol.h
llvm::pdb::NativeEnumModules::reset
void reset() override
Definition: NativeEnumModules.cpp:40
Index
uint32_t Index
Definition: ELFObjHandler.cpp:84
PDBSymbolCompiland.h
llvm::pdb::NativeSession::getSymbolCache
SymbolCache & getSymbolCache()
Definition: NativeSession.h:109
IPDBEnumChildren.h
llvm::pdb::SymbolCache::getNumCompilands
uint32_t getNumCompilands() const
Definition: SymbolCache.cpp:262
llvm::pdb::NativeEnumModules::getChildAtIndex
std::unique_ptr< PDBSymbol > getChildAtIndex(uint32_t Index) const override
Definition: NativeEnumModules.cpp:30
PDBSymbolExe.h
llvm::pdb::NativeEnumModules::getChildCount
uint32_t getChildCount() const override
Definition: NativeEnumModules.cpp:25
uint32_t
llvm::pdb::NativeSession
Definition: NativeSession.h:28
llvm::pdb::SymbolCache::getOrCreateCompiland
std::unique_ptr< PDBSymbolCompiland > getOrCreateCompiland(uint32_t Index)
Definition: SymbolCache.cpp:592
N
#define N
NativeExeSymbol.h
NativeSession.h