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) { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits