Lines Matching full:resolveinfo
1 //===- ResolveInfo.cpp ----------------------------------------------------===//
9 #include <mcld/LD/ResolveInfo.h>
18 /// g_NullResolveInfo - a pointer to Null ResolveInfo.
19 static ResolveInfo* g_NullResolveInfo = NULL;
22 // ResolveInfo
24 ResolveInfo::ResolveInfo()
29 ResolveInfo::~ResolveInfo()
33 void ResolveInfo::override(const ResolveInfo& pFrom)
40 void ResolveInfo::overrideAttributes(const ResolveInfo& pFrom)
48 void ResolveInfo::overrideVisibility(const ResolveInfo& pFrom)
75 void ResolveInfo::setRegular()
80 void ResolveInfo::setDynamic()
85 void ResolveInfo::setSource(bool pIsDyn)
93 void ResolveInfo::setType(uint32_t pType)
99 void ResolveInfo::setDesc(uint32_t pDesc)
105 void ResolveInfo::setBinding(uint32_t pBinding)
114 void ResolveInfo::setReserved(uint32_t pReserved)
120 void ResolveInfo::setOther(uint32_t pOther)
122 setVisibility(static_cast<ResolveInfo::Visibility>(pOther & 0x3));
125 void ResolveInfo::setVisibility(ResolveInfo::Visibility pVisibility)
131 void ResolveInfo::setIsSymbol(bool pIsSymbol)
139 bool ResolveInfo::isNull() const
144 bool ResolveInfo::isDyn() const
149 bool ResolveInfo::isUndef() const
154 bool ResolveInfo::isDefine() const
159 bool ResolveInfo::isCommon() const
164 bool ResolveInfo::isIndirect() const
170 bool ResolveInfo::isGlobal() const
176 bool ResolveInfo::isWeak() const
182 bool ResolveInfo::isLocal() const
188 bool ResolveInfo::isAbsolute() const
193 bool ResolveInfo::isSymbol() const
198 bool ResolveInfo::isString() const
203 uint32_t ResolveInfo::type() const
208 uint32_t ResolveInfo::desc() const
213 uint32_t ResolveInfo::binding() const
217 return ResolveInfo::Absolute;
219 return ResolveInfo::Local;
224 uint32_t ResolveInfo::reserved() const
229 ResolveInfo::Visibility ResolveInfo::visibility() const
231 return static_cast<ResolveInfo::Visibility>((m_BitField & VISIBILITY_MASK) >> VISIBILITY_OFFSET);
234 bool ResolveInfo::compare(const ResolveInfo::key_type& pKey)
243 // ResolveInfo Factory Methods
245 ResolveInfo* ResolveInfo::Create(const ResolveInfo::key_type& pKey)
247 ResolveInfo* result = static_cast<ResolveInfo*>(
248 malloc(sizeof(ResolveInfo)+pKey.size()+1));
252 new (result) ResolveInfo();
255 result->m_BitField &= ~ResolveInfo::RESOLVE_MASK;
256 result->m_BitField |= (pKey.size() << ResolveInfo::NAME_LENGTH_OFFSET);
260 void ResolveInfo::Destroy(ResolveInfo*& pInfo)
266 pInfo->~ResolveInfo();
273 ResolveInfo* ResolveInfo::Null()
276 g_NullResolveInfo = static_cast<ResolveInfo*>(
277 malloc(sizeof(ResolveInfo) + 1));
278 new (g_NullResolveInfo) ResolveInfo();