1 //===-- CompilerDecl.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/CompilerDecl.h"
10 #include "lldb/Symbol/CompilerDeclContext.h"
11 #include "lldb/Symbol/TypeSystem.h"
12 #include "lldb/Utility/Scalar.h"
14 using namespace lldb_private
;
16 ConstString
CompilerDecl::GetName() const {
17 return m_type_system
->DeclGetName(m_opaque_decl
);
20 ConstString
CompilerDecl::GetMangledName() const {
21 return m_type_system
->DeclGetMangledName(m_opaque_decl
);
24 CompilerDeclContext
CompilerDecl::GetDeclContext() const {
25 return m_type_system
->DeclGetDeclContext(m_opaque_decl
);
28 CompilerType
CompilerDecl::GetType() const {
29 return m_type_system
->GetTypeForDecl(m_opaque_decl
);
32 CompilerType
CompilerDecl::GetFunctionReturnType() const {
33 return m_type_system
->DeclGetFunctionReturnType(m_opaque_decl
);
36 size_t CompilerDecl::GetNumFunctionArguments() const {
37 return m_type_system
->DeclGetFunctionNumArguments(m_opaque_decl
);
40 CompilerType
CompilerDecl::GetFunctionArgumentType(size_t arg_idx
) const {
41 return m_type_system
->DeclGetFunctionArgumentType(m_opaque_decl
, arg_idx
);
44 bool lldb_private::operator==(const lldb_private::CompilerDecl
&lhs
,
45 const lldb_private::CompilerDecl
&rhs
) {
46 return lhs
.GetTypeSystem() == rhs
.GetTypeSystem() &&
47 lhs
.GetOpaqueDecl() == rhs
.GetOpaqueDecl();
50 bool lldb_private::operator!=(const lldb_private::CompilerDecl
&lhs
,
51 const lldb_private::CompilerDecl
&rhs
) {
52 return lhs
.GetTypeSystem() != rhs
.GetTypeSystem() ||
53 lhs
.GetOpaqueDecl() != rhs
.GetOpaqueDecl();
56 std::vector
<lldb_private::CompilerContext
>
57 CompilerDecl::GetCompilerContext() const {
58 return m_type_system
->DeclGetCompilerContext(m_opaque_decl
);
61 Scalar
CompilerDecl::GetConstantValue() const {
62 return m_type_system
->DeclGetConstantValue(m_opaque_decl
);