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