1//===- LDSymbol.cpp -------------------------------------------------------===//
2//
3//                     The MCLinker Project
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include <mcld/LD/LDSymbol.h>
11
12#include <cstring>
13
14using namespace mcld;
15
16LDSymbol::LDSymbol()
17  : m_pResolveInfo(NULL), m_pFragRef(NULL), m_Value(0) {
18}
19
20LDSymbol::~LDSymbol()
21{
22}
23
24LDSymbol::LDSymbol(const LDSymbol& pCopy)
25  : m_pResolveInfo(pCopy.m_pResolveInfo),
26    m_pFragRef(pCopy.m_pFragRef),
27    m_Value(pCopy.m_Value) {
28}
29
30LDSymbol& LDSymbol::operator=(const LDSymbol& pCopy)
31{
32  m_pResolveInfo = pCopy.m_pResolveInfo;
33  m_pFragRef = pCopy.m_pFragRef;
34  m_Value = pCopy.m_Value;
35  return (*this);
36}
37
38void LDSymbol::setFragmentRef(FragmentRef* pFragmentRef)
39{
40  m_pFragRef = pFragmentRef;
41}
42
43void LDSymbol::setResolveInfo(const ResolveInfo& pInfo)
44{
45  m_pResolveInfo = const_cast<ResolveInfo*>(&pInfo);
46}
47
48