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