1 //===-- AddressResolver.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 "lldb/Core/AddressResolver.h"
11 
12 // Project includes
13 
14 #include "lldb/Core/Address.h"
15 #include "lldb/Core/Log.h"
16 #include "lldb/Core/ModuleList.h"
17 #include "lldb/Core/SearchFilter.h"
18 #include "lldb/Core/Stream.h"
19 #include "lldb/Core/StreamString.h"
20 #include "lldb/Symbol/SymbolContext.h"
21 #include "lldb/Target/Target.h"
22 
23 using namespace lldb_private;
24 
25 //----------------------------------------------------------------------
26 // AddressResolver:
27 //----------------------------------------------------------------------
28 AddressResolver::AddressResolver() {}
29 
30 AddressResolver::~AddressResolver() {}
31 
32 void AddressResolver::ResolveAddressInModules(SearchFilter &filter,
33                                               ModuleList &modules) {
34   filter.SearchInModuleList(*this, modules);
35 }
36 
37 void AddressResolver::ResolveAddress(SearchFilter &filter) {
38   filter.Search(*this);
39 }
40 
41 std::vector<AddressRange> &AddressResolver::GetAddressRanges() {
42   return m_address_ranges;
43 }
44 
45 size_t AddressResolver::GetNumberOfAddresses() {
46   return m_address_ranges.size();
47 }
48 
49 AddressRange &AddressResolver::GetAddressRangeAtIndex(size_t idx) {
50   return m_address_ranges[idx];
51 }
52