1 //===-- DWARFIndex.cpp -----------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #include "Plugins/SymbolFile/DWARF/DWARFIndex.h"
11 #include "Plugins/SymbolFile/DWARF/DWARFDIE.h"
12 #include "Plugins/SymbolFile/DWARF/DWARFDebugInfo.h"
13 
14 using namespace lldb_private;
15 using namespace lldb;
16 
17 DWARFIndex::~DWARFIndex() = default;
18 
19 void DWARFIndex::ParseFunctions(
20     const DIEArray &offsets, DWARFDebugInfo &info,
21     llvm::function_ref<bool(const DWARFDIE &die, bool include_inlines,
22                             lldb_private::SymbolContextList &sc_list)>
23         resolve_function,
24     bool include_inlines, SymbolContextList &sc_list) {
25   const size_t num_matches = offsets.size();
26   for (size_t i = 0; i < num_matches; ++i) {
27     DWARFDIE die = info.GetDIE(offsets[i]);
28     if (die)
29       resolve_function(die, include_inlines, sc_list);
30   }
31 }
32