[Lldb-commits] [lldb] r360930 - Factor out switch statement into a helper function (NFC)

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Thu May 16 13:03:06 PDT 2019


Author: adrian
Date: Thu May 16 13:03:05 2019
New Revision: 360930

URL: http://llvm.org/viewvc/llvm-project?rev=360930&view=rev
Log:
Factor out switch statement into a helper function (NFC)

This addresses post-commit review feedback for https://reviews.llvm.org/D62015.

Modified:
    lldb/trunk/include/lldb/Target/Language.h
    lldb/trunk/source/Core/ValueObject.cpp
    lldb/trunk/source/Target/Language.cpp

Modified: lldb/trunk/include/lldb/Target/Language.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Language.h?rev=360930&r1=360929&r2=360930&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Language.h (original)
+++ lldb/trunk/include/lldb/Target/Language.h Thu May 16 13:03:05 2019
@@ -255,6 +255,9 @@ public:
 
   static bool LanguageIsC(lldb::LanguageType language);
 
+  /// Equivalent to \c LanguageIsC||LanguageIsObjC||LanguageIsCPlusPlus.
+  static bool LanguageIsCFamily(lldb::LanguageType language);
+
   static bool LanguageIsPascal(lldb::LanguageType language);
 
   // return the primary language, so if LanguageIsC(l), return eLanguageTypeC,

Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=360930&r1=360929&r2=360930&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Thu May 16 13:03:05 2019
@@ -1115,17 +1115,11 @@ const char *ValueObject::GetObjectDescri
   if (const char *desc = get_object_description(native_language))
     return desc;
 
-  switch (native_language) {
-  case eLanguageTypeC:
-  case eLanguageTypeC_plus_plus:
-  case eLanguageTypeObjC:
-  case eLanguageTypeObjC_plus_plus:
-    // Try the Objective-C language runtime. This fallback is necessary
-    // for Objective-C++ and mixed Objective-C / C++ programs.
+  // Try the Objective-C language runtime. This fallback is necessary
+  // for Objective-C++ and mixed Objective-C / C++ programs.
+  if (Language::LanguageIsCFamily(native_language))
     return get_object_description(eLanguageTypeObjC);
-  default:
-    return nullptr;
-  }
+  return nullptr;
 }
 
 bool ValueObject::GetValueAsCString(const lldb_private::TypeFormatImpl &format,

Modified: lldb/trunk/source/Target/Language.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Language.cpp?rev=360930&r1=360929&r2=360930&view=diff
==============================================================================
--- lldb/trunk/source/Target/Language.cpp (original)
+++ lldb/trunk/source/Target/Language.cpp Thu May 16 13:03:05 2019
@@ -273,6 +273,24 @@ bool Language::LanguageIsC(LanguageType
   }
 }
 
+bool Language::LanguageIsCFamily(LanguageType language) {
+  switch (language) {
+  case eLanguageTypeC:
+  case eLanguageTypeC89:
+  case eLanguageTypeC99:
+  case eLanguageTypeC11:
+  case eLanguageTypeC_plus_plus:
+  case eLanguageTypeC_plus_plus_03:
+  case eLanguageTypeC_plus_plus_11:
+  case eLanguageTypeC_plus_plus_14:
+  case eLanguageTypeObjC_plus_plus:
+  case eLanguageTypeObjC:
+    return true;
+  default:
+    return false;
+  }
+}
+
 bool Language::LanguageIsPascal(LanguageType language) {
   switch (language) {
   case eLanguageTypePascal83:




More information about the lldb-commits mailing list