1 //===-- CompilerDeclContext.cpp -------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "lldb/Symbol/CompilerDeclContext.h"
10 #include "lldb/Symbol/CompilerDecl.h"
11 #include "lldb/Symbol/TypeSystem.h"
14 using namespace lldb_private
;
16 std::vector
<CompilerDecl
>
17 CompilerDeclContext::FindDeclByName(ConstString name
,
18 const bool ignore_using_decls
) {
20 return m_type_system
->DeclContextFindDeclByName(m_opaque_decl_ctx
, name
,
22 return std::vector
<CompilerDecl
>();
25 ConstString
CompilerDeclContext::GetName() const {
27 return m_type_system
->DeclContextGetName(m_opaque_decl_ctx
);
31 ConstString
CompilerDeclContext::GetScopeQualifiedName() const {
33 return m_type_system
->DeclContextGetScopeQualifiedName(m_opaque_decl_ctx
);
37 bool CompilerDeclContext::IsClassMethod(lldb::LanguageType
*language_ptr
,
38 bool *is_instance_method_ptr
,
39 ConstString
*language_object_name_ptr
) {
41 return m_type_system
->DeclContextIsClassMethod(
42 m_opaque_decl_ctx
, language_ptr
, is_instance_method_ptr
,
43 language_object_name_ptr
);
47 bool CompilerDeclContext::IsContainedInLookup(CompilerDeclContext other
) const {
51 // If the other context is just the current context, we don't need to go
52 // over the type system to know that the lookup is identical.
56 return m_type_system
->DeclContextIsContainedInLookup(m_opaque_decl_ctx
,
57 other
.m_opaque_decl_ctx
);
60 bool lldb_private::operator==(const lldb_private::CompilerDeclContext
&lhs
,
61 const lldb_private::CompilerDeclContext
&rhs
) {
62 return lhs
.GetTypeSystem() == rhs
.GetTypeSystem() &&
63 lhs
.GetOpaqueDeclContext() == rhs
.GetOpaqueDeclContext();
66 bool lldb_private::operator!=(const lldb_private::CompilerDeclContext
&lhs
,
67 const lldb_private::CompilerDeclContext
&rhs
) {
68 return lhs
.GetTypeSystem() != rhs
.GetTypeSystem() ||
69 lhs
.GetOpaqueDeclContext() != rhs
.GetOpaqueDeclContext();