aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Target/Language.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-07-26 19:03:47 +0000
committerDimitry Andric <dim@FreeBSD.org>2023-07-26 19:04:23 +0000
commit7fa27ce4a07f19b07799a767fc29416f3b625afb (patch)
tree27825c83636c4de341eb09a74f49f5d38a15d165 /lldb/source/Target/Language.cpp
parente3b557809604d036af6e00c60f012c2025b59a5e (diff)
Diffstat (limited to 'lldb/source/Target/Language.cpp')
-rw-r--r--lldb/source/Target/Language.cpp39
1 files changed, 30 insertions, 9 deletions
diff --git a/lldb/source/Target/Language.cpp b/lldb/source/Target/Language.cpp
index 892d2a86437e..78785352676d 100644
--- a/lldb/source/Target/Language.cpp
+++ b/lldb/source/Target/Language.cpp
@@ -194,9 +194,27 @@ struct language_name_pair language_names[] = {
{"c++14", eLanguageTypeC_plus_plus_14},
{"fortran03", eLanguageTypeFortran03},
{"fortran08", eLanguageTypeFortran08},
+ {"renderscript", eLanguageTypeRenderScript},
+ {"bliss", eLanguageTypeBLISS},
+ {"kotlin", eLanguageTypeKotlin},
+ {"zig", eLanguageTypeZig},
+ {"crystal", eLanguageTypeCrystal},
+ {"<invalid language>",
+ static_cast<LanguageType>(
+ 0x0029)}, // Not yet taken by any language in the DWARF spec
+ // and thus has no entry in LanguageType
+ {"c++17", eLanguageTypeC_plus_plus_17},
+ {"c++20", eLanguageTypeC_plus_plus_20},
+ {"c17", eLanguageTypeC17},
+ {"fortran18", eLanguageTypeFortran18},
+ {"ada2005", eLanguageTypeAda2005},
+ {"ada2012", eLanguageTypeAda2012},
+ {"HIP", eLanguageTypeHIP},
+ {"assembly", eLanguageTypeAssembly},
+ {"c-sharp", eLanguageTypeC_sharp},
+ {"mojo", eLanguageTypeMojo},
// Vendor Extensions
{"assembler", eLanguageTypeMipsAssembler},
- {"renderscript", eLanguageTypeExtRenderScript},
// Now synonyms, in arbitrary order
{"objc", eLanguageTypeObjC},
{"objc++", eLanguageTypeObjC_plus_plus},
@@ -253,6 +271,8 @@ bool Language::LanguageIsCPlusPlus(LanguageType language) {
case eLanguageTypeC_plus_plus_03:
case eLanguageTypeC_plus_plus_11:
case eLanguageTypeC_plus_plus_14:
+ case eLanguageTypeC_plus_plus_17:
+ case eLanguageTypeC_plus_plus_20:
case eLanguageTypeObjC_plus_plus:
return true;
default:
@@ -292,6 +312,8 @@ bool Language::LanguageIsCFamily(LanguageType language) {
case eLanguageTypeC_plus_plus_03:
case eLanguageTypeC_plus_plus_11:
case eLanguageTypeC_plus_plus_14:
+ case eLanguageTypeC_plus_plus_17:
+ case eLanguageTypeC_plus_plus_20:
case eLanguageTypeObjC_plus_plus:
case eLanguageTypeObjC:
return true;
@@ -315,6 +337,8 @@ LanguageType Language::GetPrimaryLanguage(LanguageType language) {
case eLanguageTypeC_plus_plus_03:
case eLanguageTypeC_plus_plus_11:
case eLanguageTypeC_plus_plus_14:
+ case eLanguageTypeC_plus_plus_17:
+ case eLanguageTypeC_plus_plus_20:
return eLanguageTypeC_plus_plus;
case eLanguageTypeC:
case eLanguageTypeC89:
@@ -350,7 +374,6 @@ LanguageType Language::GetPrimaryLanguage(LanguageType language) {
case eLanguageTypeJulia:
case eLanguageTypeDylan:
case eLanguageTypeMipsAssembler:
- case eLanguageTypeExtRenderScript:
case eLanguageTypeUnknown:
default:
return language;
@@ -432,19 +455,17 @@ bool Language::ImageListTypeScavenger::Find_Impl(
return result;
}
-bool Language::GetFormatterPrefixSuffix(ValueObject &valobj,
- ConstString type_hint,
- std::string &prefix,
- std::string &suffix) {
- return false;
+std::pair<llvm::StringRef, llvm::StringRef>
+Language::GetFormatterPrefixSuffix(llvm::StringRef type_hint) {
+ return std::pair<llvm::StringRef, llvm::StringRef>();
}
-bool Language::DemangledNameContainsPath(llvm::StringRef path,
+bool Language::DemangledNameContainsPath(llvm::StringRef path,
ConstString demangled) const {
// The base implementation does a simple contains comparision:
if (path.empty())
return false;
- return demangled.GetStringRef().contains(path);
+ return demangled.GetStringRef().contains(path);
}
DumpValueObjectOptions::DeclPrintingHelper Language::GetDeclPrintingHelper() {