1*30fdc8d8SChris Lattner //===-- AddressResolver.cpp -------------------------------------*- C++ -*-===//
2*30fdc8d8SChris Lattner //
3*30fdc8d8SChris Lattner //                     The LLVM Compiler Infrastructure
4*30fdc8d8SChris Lattner //
5*30fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source
6*30fdc8d8SChris Lattner // License. See LICENSE.TXT for details.
7*30fdc8d8SChris Lattner //
8*30fdc8d8SChris Lattner //===----------------------------------------------------------------------===//
9*30fdc8d8SChris Lattner 
10*30fdc8d8SChris Lattner #include "lldb/Core/AddressResolver.h"
11*30fdc8d8SChris Lattner 
12*30fdc8d8SChris Lattner 
13*30fdc8d8SChris Lattner // Project includes
14*30fdc8d8SChris Lattner 
15*30fdc8d8SChris Lattner #include "lldb/Core/Address.h"
16*30fdc8d8SChris Lattner #include "lldb/Core/Log.h"
17*30fdc8d8SChris Lattner #include "lldb/Core/ModuleList.h"
18*30fdc8d8SChris Lattner #include "lldb/Core/SearchFilter.h"
19*30fdc8d8SChris Lattner #include "lldb/Core/Stream.h"
20*30fdc8d8SChris Lattner #include "lldb/Core/StreamString.h"
21*30fdc8d8SChris Lattner #include "lldb/Symbol/SymbolContext.h"
22*30fdc8d8SChris Lattner #include "lldb/Target/Target.h"
23*30fdc8d8SChris Lattner #include "lldb/lldb-private-log.h"
24*30fdc8d8SChris Lattner 
25*30fdc8d8SChris Lattner using namespace lldb_private;
26*30fdc8d8SChris Lattner 
27*30fdc8d8SChris Lattner //----------------------------------------------------------------------
28*30fdc8d8SChris Lattner // AddressResolver:
29*30fdc8d8SChris Lattner //----------------------------------------------------------------------
30*30fdc8d8SChris Lattner AddressResolver::AddressResolver ()
31*30fdc8d8SChris Lattner {
32*30fdc8d8SChris Lattner }
33*30fdc8d8SChris Lattner 
34*30fdc8d8SChris Lattner AddressResolver::~AddressResolver ()
35*30fdc8d8SChris Lattner {
36*30fdc8d8SChris Lattner 
37*30fdc8d8SChris Lattner }
38*30fdc8d8SChris Lattner 
39*30fdc8d8SChris Lattner void
40*30fdc8d8SChris Lattner AddressResolver::ResolveAddressInModules (SearchFilter &filter, ModuleList &modules)
41*30fdc8d8SChris Lattner {
42*30fdc8d8SChris Lattner     filter.SearchInModuleList(*this, modules);
43*30fdc8d8SChris Lattner }
44*30fdc8d8SChris Lattner 
45*30fdc8d8SChris Lattner void
46*30fdc8d8SChris Lattner AddressResolver::ResolveAddress (SearchFilter &filter)
47*30fdc8d8SChris Lattner {
48*30fdc8d8SChris Lattner     filter.Search (*this);
49*30fdc8d8SChris Lattner }
50*30fdc8d8SChris Lattner 
51*30fdc8d8SChris Lattner std::vector<AddressRange> &
52*30fdc8d8SChris Lattner AddressResolver::GetAddressRanges ()
53*30fdc8d8SChris Lattner {
54*30fdc8d8SChris Lattner     return m_address_ranges;
55*30fdc8d8SChris Lattner }
56*30fdc8d8SChris Lattner 
57*30fdc8d8SChris Lattner size_t
58*30fdc8d8SChris Lattner AddressResolver::GetNumberOfAddresses ()
59*30fdc8d8SChris Lattner {
60*30fdc8d8SChris Lattner     return m_address_ranges.size();
61*30fdc8d8SChris Lattner }
62*30fdc8d8SChris Lattner 
63*30fdc8d8SChris Lattner AddressRange &
64*30fdc8d8SChris Lattner AddressResolver::GetAddressRangeAtIndex (size_t idx)
65*30fdc8d8SChris Lattner {
66*30fdc8d8SChris Lattner   return m_address_ranges[idx];
67*30fdc8d8SChris Lattner }
68