diff --git a/lldb/include/lldb/API/SBCompileUnit.h b/lldb/include/lldb/API/SBCompileUnit.h index 95af3d4722ce..e2c216445d94 100644 --- a/lldb/include/lldb/API/SBCompileUnit.h +++ b/lldb/include/lldb/API/SBCompileUnit.h @@ -78,6 +78,9 @@ public: lldb::SBTypeList GetTypes (uint32_t type_mask = lldb::eTypeClassAny); + lldb::LanguageType + GetLanguage (); + bool operator == (const lldb::SBCompileUnit &rhs) const; diff --git a/lldb/include/lldb/API/SBFunction.h b/lldb/include/lldb/API/SBFunction.h index 49a3847efbec..1b0d53d11736 100644 --- a/lldb/include/lldb/API/SBFunction.h +++ b/lldb/include/lldb/API/SBFunction.h @@ -58,6 +58,9 @@ public: lldb::SBBlock GetBlock (); + + lldb::LanguageType + GetLanguage (); bool operator == (const lldb::SBFunction &rhs) const; diff --git a/lldb/scripts/Python/interface/SBCompileUnit.i b/lldb/scripts/Python/interface/SBCompileUnit.i index a7e76cb1183d..614779123727 100644 --- a/lldb/scripts/Python/interface/SBCompileUnit.i +++ b/lldb/scripts/Python/interface/SBCompileUnit.i @@ -106,6 +106,9 @@ public: lldb::SBTypeList GetTypes (uint32_t type_mask = lldb::eTypeClassAny); + lldb::LanguageType + GetLanguage (); + bool GetDescription (lldb::SBStream &description); diff --git a/lldb/scripts/Python/interface/SBFunction.i b/lldb/scripts/Python/interface/SBFunction.i index 33cc4481e7b7..d3660aff08c7 100644 --- a/lldb/scripts/Python/interface/SBFunction.i +++ b/lldb/scripts/Python/interface/SBFunction.i @@ -82,6 +82,9 @@ public: lldb::SBBlock GetBlock (); + + lldb::LanguageType + GetLanguage (); bool GetDescription (lldb::SBStream &description); diff --git a/lldb/source/API/SBCompileUnit.cpp b/lldb/source/API/SBCompileUnit.cpp index 03c25710a9e4..5d904ce56300 100644 --- a/lldb/source/API/SBCompileUnit.cpp +++ b/lldb/source/API/SBCompileUnit.cpp @@ -228,6 +228,14 @@ SBCompileUnit::FindSupportFileIndex (uint32_t start_idx, const SBFileSpec &sb_fi return 0; } +lldb::LanguageType +SBCompileUnit::GetLanguage () +{ + if (m_opaque_ptr) + return m_opaque_ptr->GetLanguage(); + return lldb::eLanguageTypeUnknown; +} + bool SBCompileUnit::IsValid () const { diff --git a/lldb/source/API/SBFunction.cpp b/lldb/source/API/SBFunction.cpp index 3d185da17f26..bf5e9180a437 100644 --- a/lldb/source/API/SBFunction.cpp +++ b/lldb/source/API/SBFunction.cpp @@ -227,5 +227,15 @@ SBFunction::GetBlock () return sb_block; } +lldb::LanguageType +SBFunction::GetLanguage () +{ + if (m_opaque_ptr) + { + if (m_opaque_ptr->GetCompileUnit()) + return m_opaque_ptr->GetCompileUnit()->GetLanguage(); + } + return lldb::eLanguageTypeUnknown; +}