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