diff options
Diffstat (limited to 'contrib/llvm-project/lldb/include/lldb/Target/Language.h')
-rw-r--r-- | contrib/llvm-project/lldb/include/lldb/Target/Language.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/contrib/llvm-project/lldb/include/lldb/Target/Language.h b/contrib/llvm-project/lldb/include/lldb/Target/Language.h index 6368828e36da..11b9daa38945 100644 --- a/contrib/llvm-project/lldb/include/lldb/Target/Language.h +++ b/contrib/llvm-project/lldb/include/lldb/Target/Language.h @@ -184,14 +184,31 @@ public: virtual const char *GetLanguageSpecificTypeLookupHelp(); + class MethodNameVariant { + ConstString m_name; + lldb::FunctionNameType m_type; + + public: + MethodNameVariant(ConstString name, lldb::FunctionNameType type) + : m_name(name), m_type(type) {} + ConstString GetName() const { return m_name; } + lldb::FunctionNameType GetType() const { return m_type; } + }; // If a language can have more than one possible name for a method, this // function can be used to enumerate them. This is useful when doing name // lookups. - virtual std::vector<ConstString> + virtual std::vector<Language::MethodNameVariant> GetMethodNameVariants(ConstString method_name) const { - return std::vector<ConstString>(); + return std::vector<Language::MethodNameVariant>(); }; + /// Returns true iff the given symbol name is compatible with the mangling + /// scheme of this language. + /// + /// This function should only return true if there is a high confidence + /// that the name actually belongs to this language. + virtual bool SymbolNameFitsToLanguage(Mangled name) const { return false; } + // if an individual data formatter can apply to several types and cross a // language boundary it makes sense for individual languages to want to // customize the printing of values of that type by appending proper |