1*d628cbb9SPaul Herman //===-- CompilerDecl.cpp ----------------------------------------*- C++ -*-===// 2*d628cbb9SPaul Herman // 3*d628cbb9SPaul Herman // The LLVM Compiler Infrastructure 4*d628cbb9SPaul Herman // 5*d628cbb9SPaul Herman // This file is distributed under the University of Illinois Open Source 6*d628cbb9SPaul Herman // License. See LICENSE.TXT for details. 7*d628cbb9SPaul Herman // 8*d628cbb9SPaul Herman //===----------------------------------------------------------------------===// 9*d628cbb9SPaul Herman 10*d628cbb9SPaul Herman #include "lldb/Symbol/CompilerDecl.h" 11*d628cbb9SPaul Herman #include "lldb/Symbol/CompilerDeclContext.h" 12*d628cbb9SPaul Herman #include "lldb/Symbol/TypeSystem.h" 13*d628cbb9SPaul Herman 14*d628cbb9SPaul Herman using namespace lldb_private; 15*d628cbb9SPaul Herman 16*d628cbb9SPaul Herman bool 17*d628cbb9SPaul Herman CompilerDecl::IsClang () const 18*d628cbb9SPaul Herman { 19*d628cbb9SPaul Herman return IsValid() && m_type_system->getKind() == TypeSystem::eKindClang; 20*d628cbb9SPaul Herman } 21*d628cbb9SPaul Herman 22*d628cbb9SPaul Herman ConstString 23*d628cbb9SPaul Herman CompilerDecl::GetName() const 24*d628cbb9SPaul Herman { 25*d628cbb9SPaul Herman return m_type_system->DeclGetName(m_opaque_decl); 26*d628cbb9SPaul Herman } 27*d628cbb9SPaul Herman 28*d628cbb9SPaul Herman lldb::VariableSP 29*d628cbb9SPaul Herman CompilerDecl::GetAsVariable () 30*d628cbb9SPaul Herman { 31*d628cbb9SPaul Herman return m_type_system->DeclGetVariable(m_opaque_decl); 32*d628cbb9SPaul Herman } 33*d628cbb9SPaul Herman 34*d628cbb9SPaul Herman bool 35*d628cbb9SPaul Herman lldb_private::operator == (const lldb_private::CompilerDecl &lhs, const lldb_private::CompilerDecl &rhs) 36*d628cbb9SPaul Herman { 37*d628cbb9SPaul Herman return lhs.GetTypeSystem() == rhs.GetTypeSystem() && lhs.GetOpaqueDecl() == rhs.GetOpaqueDecl(); 38*d628cbb9SPaul Herman } 39*d628cbb9SPaul Herman 40*d628cbb9SPaul Herman 41*d628cbb9SPaul Herman bool 42*d628cbb9SPaul Herman lldb_private::operator != (const lldb_private::CompilerDecl &lhs, const lldb_private::CompilerDecl &rhs) 43*d628cbb9SPaul Herman { 44*d628cbb9SPaul Herman return lhs.GetTypeSystem() != rhs.GetTypeSystem() || lhs.GetOpaqueDecl() != rhs.GetOpaqueDecl(); 45*d628cbb9SPaul Herman } 46*d628cbb9SPaul Herman 47