//===-- ModuleChild.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/ModuleChild.h"

using namespace lldb_private;

ModuleChild::ModuleChild (const lldb::ModuleSP &module_sp) :
    m_module_wp (module_sp)
{
}

ModuleChild::ModuleChild (const ModuleChild& rhs) :
    m_module_wp(rhs.m_module_wp)
{
}

ModuleChild::~ModuleChild()
{
}

const ModuleChild&
ModuleChild::operator= (const ModuleChild& rhs)
{
    if (this != &rhs)
        m_module_wp = rhs.m_module_wp;
    return *this;
}

lldb::ModuleSP
ModuleChild::GetModule () const
{
    return m_module_wp.lock();
}

void
ModuleChild::SetModule (const lldb::ModuleSP &module_sp)
{
    m_module_wp = module_sp;
}