15ffd83dbSDimitry Andric //===-- AddressResolver.cpp -----------------------------------------------===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #include "lldb/Core/AddressResolver.h"
100b57cec5SDimitry Andric 
110b57cec5SDimitry Andric #include "lldb/Core/SearchFilter.h"
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric namespace lldb_private {
140b57cec5SDimitry Andric class ModuleList;
150b57cec5SDimitry Andric }
160b57cec5SDimitry Andric 
170b57cec5SDimitry Andric using namespace lldb_private;
180b57cec5SDimitry Andric 
190b57cec5SDimitry Andric // AddressResolver:
20*5f7ddb14SDimitry Andric AddressResolver::AddressResolver() = default;
210b57cec5SDimitry Andric 
22*5f7ddb14SDimitry Andric AddressResolver::~AddressResolver() = default;
230b57cec5SDimitry Andric 
ResolveAddressInModules(SearchFilter & filter,ModuleList & modules)240b57cec5SDimitry Andric void AddressResolver::ResolveAddressInModules(SearchFilter &filter,
250b57cec5SDimitry Andric                                               ModuleList &modules) {
260b57cec5SDimitry Andric   filter.SearchInModuleList(*this, modules);
270b57cec5SDimitry Andric }
280b57cec5SDimitry Andric 
ResolveAddress(SearchFilter & filter)290b57cec5SDimitry Andric void AddressResolver::ResolveAddress(SearchFilter &filter) {
300b57cec5SDimitry Andric   filter.Search(*this);
310b57cec5SDimitry Andric }
320b57cec5SDimitry Andric 
GetAddressRanges()330b57cec5SDimitry Andric std::vector<AddressRange> &AddressResolver::GetAddressRanges() {
340b57cec5SDimitry Andric   return m_address_ranges;
350b57cec5SDimitry Andric }
360b57cec5SDimitry Andric 
GetNumberOfAddresses()370b57cec5SDimitry Andric size_t AddressResolver::GetNumberOfAddresses() {
380b57cec5SDimitry Andric   return m_address_ranges.size();
390b57cec5SDimitry Andric }
400b57cec5SDimitry Andric 
GetAddressRangeAtIndex(size_t idx)410b57cec5SDimitry Andric AddressRange &AddressResolver::GetAddressRangeAtIndex(size_t idx) {
420b57cec5SDimitry Andric   return m_address_ranges[idx];
430b57cec5SDimitry Andric }
44