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() {
39 return m_type_system
->DeclContextIsClassMethod(m_opaque_decl_ctx
);
43 lldb::LanguageType
CompilerDeclContext::GetLanguage() {
45 return m_type_system
->DeclContextGetLanguage(m_opaque_decl_ctx
);
49 bool CompilerDeclContext::IsContainedInLookup(CompilerDeclContext other
) const {
53 // If the other context is just the current context, we don't need to go
54 // over the type system to know that the lookup is identical.
58 return m_type_system
->DeclContextIsContainedInLookup(m_opaque_decl_ctx
,
59 other
.m_opaque_decl_ctx
);
62 std::vector
<lldb_private::CompilerContext
>
63 CompilerDeclContext::GetCompilerContext() const {
65 return m_type_system
->DeclContextGetCompilerContext(m_opaque_decl_ctx
);
69 bool lldb_private::operator==(const lldb_private::CompilerDeclContext
&lhs
,
70 const lldb_private::CompilerDeclContext
&rhs
) {
71 return lhs
.GetTypeSystem() == rhs
.GetTypeSystem() &&
72 lhs
.GetOpaqueDeclContext() == rhs
.GetOpaqueDeclContext();
75 bool lldb_private::operator!=(const lldb_private::CompilerDeclContext
&lhs
,
76 const lldb_private::CompilerDeclContext
&rhs
) {
77 return lhs
.GetTypeSystem() != rhs
.GetTypeSystem() ||
78 lhs
.GetOpaqueDeclContext() != rhs
.GetOpaqueDeclContext();