Fixed TypeMemberFunctionImpl to not use clang types directly but use the new CompilerDecl class to do the job in an abstract way.
Fixed a crash that would happen if you tried to get the name of a constructor or destructor by calling "getDeclName()" instead of calling getName() (which would assert and crash).
Added the ability to get function arguments names from SBFunction.
llvm-svn: 252622
diff --git a/lldb/source/Symbol/CompilerDecl.cpp b/lldb/source/Symbol/CompilerDecl.cpp
index f530b20..42e5fb0 100644
--- a/lldb/source/Symbol/CompilerDecl.cpp
+++ b/lldb/source/Symbol/CompilerDecl.cpp
@@ -25,12 +25,42 @@
return m_type_system->DeclGetName(m_opaque_decl);
}
+ConstString
+CompilerDecl::GetMangledName () const
+{
+ return m_type_system->DeclGetMangledName(m_opaque_decl);
+}
+
lldb::VariableSP
CompilerDecl::GetAsVariable ()
{
return m_type_system->DeclGetVariable(m_opaque_decl);
}
+CompilerDeclContext
+CompilerDecl::GetDeclContext() const
+{
+ return m_type_system->DeclGetDeclContext(m_opaque_decl);
+}
+
+CompilerType
+CompilerDecl::GetFunctionReturnType() const
+{
+ return m_type_system->DeclGetFunctionReturnType(m_opaque_decl);
+}
+
+size_t
+CompilerDecl::GetNumFunctionArguments() const
+{
+ return m_type_system->DeclGetFunctionNumArguments(m_opaque_decl);
+}
+
+CompilerType
+CompilerDecl::GetFunctionArgumentType (size_t arg_idx) const
+{
+ return m_type_system->DeclGetFunctionArgumentType(m_opaque_decl, arg_idx);
+}
+
bool
lldb_private::operator == (const lldb_private::CompilerDecl &lhs, const lldb_private::CompilerDecl &rhs)
{