LLVM  15.0.0git
NativeEnumLineNumbers.cpp
Go to the documentation of this file.
1 //==- NativeEnumLineNumbers.cpp - Native Type 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 
14 
15 #include <vector>
16 
17 using namespace llvm;
18 using namespace llvm::codeview;
19 using namespace llvm::pdb;
20 
21 NativeEnumLineNumbers::NativeEnumLineNumbers(
22  std::vector<NativeLineNumber> LineNums)
23  : Lines(std::move(LineNums)), Index(0) {}
24 
26  return static_cast<uint32_t>(Lines.size());
27 }
28 
29 std::unique_ptr<IPDBLineNumber>
31  if (N >= getChildCount())
32  return nullptr;
33  return std::make_unique<NativeLineNumber>(Lines[N]);
34 }
35 
36 std::unique_ptr<IPDBLineNumber> NativeEnumLineNumbers::getNext() {
37  return getChildAtIndex(Index++);
38 }
39 
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::codeview::DebugSubsectionKind::Lines
@ Lines
NativeEnumLineNumbers.h
llvm::pdb::NativeEnumLineNumbers::getChildCount
uint32_t getChildCount() const override
Definition: NativeEnumLineNumbers.cpp:25
llvm::dwarf::Index
Index
Definition: Dwarf.h:472
CodeView.h
llvm::pdb::NativeEnumLineNumbers::getNext
ChildTypePtr getNext() override
Definition: NativeEnumLineNumbers.cpp:36
llvm::pdb
Definition: ConcreteSymbolEnumerator.h:20
IPDBEnumChildren.h
llvm::move
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Definition: STLExtras.h:1675
llvm::pdb::NativeEnumLineNumbers::getChildAtIndex
ChildTypePtr getChildAtIndex(uint32_t Index) const override
Definition: NativeEnumLineNumbers.cpp:30
uint32_t
std
Definition: BitVector.h:851
llvm::codeview
Definition: AppendingTypeTableBuilder.h:22
N
#define N
NativeLineNumber.h
llvm::pdb::NativeEnumLineNumbers::reset
void reset() override
Definition: NativeEnumLineNumbers.cpp:40