74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- CompilerDeclContext.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/Symbol/CompilerDeclContext.h"
 | |
| #include "lldb/Symbol/CompilerDecl.h"
 | |
| #include "lldb/Symbol/TypeSystem.h"
 | |
| #include <vector>
 | |
| 
 | |
| using namespace lldb_private;
 | |
| 
 | |
| std::vector<CompilerDecl>
 | |
| CompilerDeclContext::FindDeclByName(ConstString name,
 | |
|                                     const bool ignore_using_decls) {
 | |
|   if (IsValid())
 | |
|     return m_type_system->DeclContextFindDeclByName(m_opaque_decl_ctx, name,
 | |
|                                                     ignore_using_decls);
 | |
|   else
 | |
|     return std::vector<CompilerDecl>();
 | |
| }
 | |
| 
 | |
| bool CompilerDeclContext::IsClang() const {
 | |
|   return IsValid() && m_type_system->getKind() == TypeSystem::eKindClang;
 | |
| }
 | |
| 
 | |
| ConstString CompilerDeclContext::GetName() const {
 | |
|   if (IsValid())
 | |
|     return m_type_system->DeclContextGetName(m_opaque_decl_ctx);
 | |
|   else
 | |
|     return ConstString();
 | |
| }
 | |
| 
 | |
| ConstString CompilerDeclContext::GetScopeQualifiedName() const {
 | |
|   if (IsValid())
 | |
|     return m_type_system->DeclContextGetScopeQualifiedName(m_opaque_decl_ctx);
 | |
|   else
 | |
|     return ConstString();
 | |
| }
 | |
| 
 | |
| bool CompilerDeclContext::IsStructUnionOrClass() const {
 | |
|   if (IsValid())
 | |
|     return m_type_system->DeclContextIsStructUnionOrClass(m_opaque_decl_ctx);
 | |
|   else
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| bool CompilerDeclContext::IsClassMethod(lldb::LanguageType *language_ptr,
 | |
|                                         bool *is_instance_method_ptr,
 | |
|                                         ConstString *language_object_name_ptr) {
 | |
|   if (IsValid())
 | |
|     return m_type_system->DeclContextIsClassMethod(
 | |
|         m_opaque_decl_ctx, language_ptr, is_instance_method_ptr,
 | |
|         language_object_name_ptr);
 | |
|   else
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| bool lldb_private::operator==(const lldb_private::CompilerDeclContext &lhs,
 | |
|                               const lldb_private::CompilerDeclContext &rhs) {
 | |
|   return lhs.GetTypeSystem() == rhs.GetTypeSystem() &&
 | |
|          lhs.GetOpaqueDeclContext() == rhs.GetOpaqueDeclContext();
 | |
| }
 | |
| 
 | |
| bool lldb_private::operator!=(const lldb_private::CompilerDeclContext &lhs,
 | |
|                               const lldb_private::CompilerDeclContext &rhs) {
 | |
|   return lhs.GetTypeSystem() != rhs.GetTypeSystem() ||
 | |
|          lhs.GetOpaqueDeclContext() != rhs.GetOpaqueDeclContext();
 | |
| }
 |