aboutsummaryrefslogtreecommitdiff
path: root/source/Plugins/Language
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/Language')
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp16
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h3
2 files changed, 19 insertions, 0 deletions
diff --git a/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index a554aa57d58e..09031e2f8064 100644
--- a/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -296,6 +296,22 @@ CPlusPlusLanguage::MethodName::GetQualifiers ()
return m_qualifiers;
}
+std::string
+CPlusPlusLanguage::MethodName::GetScopeQualifiedName ()
+{
+ if (!m_parsed)
+ Parse();
+ if (m_basename.empty() || m_context.empty())
+ return std::string();
+
+ std::string res;
+ res += m_context;
+ res += "::";
+ res += m_basename;
+
+ return res;
+}
+
bool
CPlusPlusLanguage::IsCPPMangledName (const char *name)
{
diff --git a/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h b/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
index 1a8c0f6938a5..f0fc07e20066 100644
--- a/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
+++ b/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
@@ -89,6 +89,9 @@ public:
{
return m_full;
}
+
+ std::string
+ GetScopeQualifiedName ();
llvm::StringRef
GetBasename ();