1*0b57cec5SDimitry Andric //===-- AddressResolver.cpp -----------------------------------------------===//
2*0b57cec5SDimitry Andric //
3*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*0b57cec5SDimitry Andric //
7*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
8*0b57cec5SDimitry Andric 
9*0b57cec5SDimitry Andric #include "lldb/Core/AddressResolver.h"
10*0b57cec5SDimitry Andric 
11*0b57cec5SDimitry Andric #include "lldb/Core/SearchFilter.h"
12*0b57cec5SDimitry Andric 
13*0b57cec5SDimitry Andric namespace lldb_private {
14*0b57cec5SDimitry Andric class ModuleList;
15*0b57cec5SDimitry Andric }
16*0b57cec5SDimitry Andric 
17*0b57cec5SDimitry Andric using namespace lldb_private;
18*0b57cec5SDimitry Andric 
19*0b57cec5SDimitry Andric // AddressResolver:
20*0b57cec5SDimitry Andric AddressResolver::AddressResolver() = default;
21*0b57cec5SDimitry Andric 
22*0b57cec5SDimitry Andric AddressResolver::~AddressResolver() = default;
23*0b57cec5SDimitry Andric 
ResolveAddressInModules(SearchFilter & filter,ModuleList & modules)24*0b57cec5SDimitry Andric void AddressResolver::ResolveAddressInModules(SearchFilter &filter,
25*0b57cec5SDimitry Andric                                               ModuleList &modules) {
26*0b57cec5SDimitry Andric   filter.SearchInModuleList(*this, modules);
27*0b57cec5SDimitry Andric }
28*0b57cec5SDimitry Andric 
ResolveAddress(SearchFilter & filter)29*0b57cec5SDimitry Andric void AddressResolver::ResolveAddress(SearchFilter &filter) {
30*0b57cec5SDimitry Andric   filter.Search(*this);
31*0b57cec5SDimitry Andric }
32*0b57cec5SDimitry Andric 
GetAddressRanges()33*0b57cec5SDimitry Andric std::vector<AddressRange> &AddressResolver::GetAddressRanges() {
34*0b57cec5SDimitry Andric   return m_address_ranges;
35*0b57cec5SDimitry Andric }
36*0b57cec5SDimitry Andric 
GetNumberOfAddresses()37*0b57cec5SDimitry Andric size_t AddressResolver::GetNumberOfAddresses() {
38*0b57cec5SDimitry Andric   return m_address_ranges.size();
39*0b57cec5SDimitry Andric }
40*0b57cec5SDimitry Andric 
GetAddressRangeAtIndex(size_t idx)41*0b57cec5SDimitry Andric AddressRange &AddressResolver::GetAddressRangeAtIndex(size_t idx) {
42*0b57cec5SDimitry Andric   return m_address_ranges[idx];
43*0b57cec5SDimitry Andric }
44