//===-- AddressResolver.cpp -------------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "lldb/Core/AddressResolver.h"


// Project includes

#include "lldb/Core/Address.h"
#include "lldb/Core/Log.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Core/SearchFilter.h"
#include "lldb/Core/Stream.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Target/Target.h"

using namespace lldb_private;

//----------------------------------------------------------------------
// AddressResolver:
//----------------------------------------------------------------------
AddressResolver::AddressResolver ()
{
}

AddressResolver::~AddressResolver ()
{

}

void
AddressResolver::ResolveAddressInModules (SearchFilter &filter, ModuleList &modules)
{
    filter.SearchInModuleList(*this, modules);
}

void
AddressResolver::ResolveAddress (SearchFilter &filter)
{
    filter.Search (*this);
}

std::vector<AddressRange> &
AddressResolver::GetAddressRanges ()
{
    return m_address_ranges;
}

size_t
AddressResolver::GetNumberOfAddresses ()
{
    return m_address_ranges.size();
}

AddressRange &
AddressResolver::GetAddressRangeAtIndex (size_t idx)
{
  return m_address_ranges[idx];
}
