[Lldb-commits] [lldb] r246614 - Add a Language::ForAllLanguages helper function

Enrico Granata via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 1 18:31:10 PDT 2015


Author: enrico
Date: Tue Sep  1 20:31:10 2015
New Revision: 246614

URL: http://llvm.org/viewvc/llvm-project?rev=246614&view=rev
Log:
Add a Language::ForAllLanguages helper function

Modified:
    lldb/trunk/include/lldb/Target/Language.h
    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=246614&r1=246613&r2=246614&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Language.h (original)
+++ lldb/trunk/include/lldb/Target/Language.h Tue Sep  1 20:31:10 2015
@@ -27,20 +27,20 @@ namespace lldb_private {
     {
     public:
         
-        ~Language() override;
-        
-        static Language*
-        FindPlugin (lldb::LanguageType language);
-        
-        // return false from callback to stop iterating
-        static void
-        ForEach (std::function<bool(Language*)> callback);
-        
-        virtual lldb::LanguageType
-        GetLanguageType () const = 0;
-        
-        virtual lldb::TypeCategoryImplSP
-        GetFormatters ();
+    ~Language() override;
+    
+    static Language*
+    FindPlugin (lldb::LanguageType language);
+    
+    // return false from callback to stop iterating
+    static void
+    ForEach (std::function<bool(Language*)> callback);
+    
+    virtual lldb::LanguageType
+    GetLanguageType () const = 0;
+    
+    virtual lldb::TypeCategoryImplSP
+    GetFormatters ();
 
     // These are accessors for general information about the Languages lldb knows about:
     
@@ -52,6 +52,10 @@ namespace lldb_private {
 
     static void
     PrintAllLanguages (Stream &s, const char *prefix, const char *suffix);
+        
+    // return false from callback to stop iterating
+    static void
+    ForAllLanguages (std::function<bool(lldb::LanguageType)> callback);
 
     static bool
     LanguageIsCPlusPlus (lldb::LanguageType language);

Modified: lldb/trunk/source/Target/Language.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Language.cpp?rev=246614&r1=246613&r2=246614&view=diff
==============================================================================
--- lldb/trunk/source/Target/Language.cpp (original)
+++ lldb/trunk/source/Target/Language.cpp Tue Sep  1 20:31:10 2015
@@ -179,6 +179,16 @@ Language::PrintAllLanguages (Stream &s,
     }
 }
 
+void
+Language::ForAllLanguages (std::function<bool(lldb::LanguageType)> callback)
+{
+    for (uint32_t i = 1; i < num_languages; i++)
+    {
+        if (!callback(language_names[i].type))
+            break;
+    }
+}
+
 bool
 Language::LanguageIsCPlusPlus (LanguageType language)
 {




More information about the lldb-commits mailing list