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