2010-06-09 00:52:24 +08:00
|
|
|
//===-- AddressResolver.cpp -------------------------------------*- C++ -*-===//
|
|
|
|
//
|
2019-01-19 16:50:56 +08:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2010-06-09 00:52:24 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#include "lldb/Core/AddressResolver.h"
|
|
|
|
|
|
|
|
#include "lldb/Core/SearchFilter.h"
|
2017-04-07 05:28:29 +08:00
|
|
|
|
|
|
|
namespace lldb_private {
|
|
|
|
class ModuleList;
|
|
|
|
}
|
2010-06-09 00:52:24 +08:00
|
|
|
|
|
|
|
using namespace lldb_private;
|
|
|
|
|
|
|
|
// AddressResolver:
|
2016-09-07 04:57:50 +08:00
|
|
|
AddressResolver::AddressResolver() {}
|
2010-06-09 00:52:24 +08:00
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
AddressResolver::~AddressResolver() {}
|
2010-06-09 00:52:24 +08:00
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
void AddressResolver::ResolveAddressInModules(SearchFilter &filter,
|
|
|
|
ModuleList &modules) {
|
|
|
|
filter.SearchInModuleList(*this, modules);
|
2010-06-09 00:52:24 +08:00
|
|
|
}
|
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
void AddressResolver::ResolveAddress(SearchFilter &filter) {
|
|
|
|
filter.Search(*this);
|
2010-06-09 00:52:24 +08:00
|
|
|
}
|
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
std::vector<AddressRange> &AddressResolver::GetAddressRanges() {
|
|
|
|
return m_address_ranges;
|
2010-06-09 00:52:24 +08:00
|
|
|
}
|
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
size_t AddressResolver::GetNumberOfAddresses() {
|
|
|
|
return m_address_ranges.size();
|
2010-06-09 00:52:24 +08:00
|
|
|
}
|
|
|
|
|
2016-09-07 04:57:50 +08:00
|
|
|
AddressRange &AddressResolver::GetAddressRangeAtIndex(size_t idx) {
|
2010-06-09 00:52:24 +08:00
|
|
|
return m_address_ranges[idx];
|
|
|
|
}
|