@@ -111,9 +111,9 @@ Language *Language::FindPlugin(llvm::StringRef file_path) {
111
111
ForEach ([&result, file_path](Language *language) {
112
112
if (language->IsSourceFile (file_path)) {
113
113
result = language;
114
- return false ;
114
+ return IterationAction::Stop ;
115
115
}
116
- return true ;
116
+ return IterationAction::Continue ;
117
117
});
118
118
return result;
119
119
}
@@ -128,7 +128,8 @@ Language *Language::FindPlugin(LanguageType language,
128
128
return result;
129
129
}
130
130
131
- void Language::ForEach (std::function<bool (Language *)> callback) {
131
+ void Language::ForEach (
132
+ llvm::function_ref<IterationAction(Language *)> callback) {
132
133
// If we want to iterate over all languages, we first have to complete the
133
134
// LanguagesMap.
134
135
static llvm::once_flag g_initialize;
@@ -153,7 +154,7 @@ void Language::ForEach(std::function<bool(Language *)> callback) {
153
154
}
154
155
155
156
for (auto *lang : loaded_plugins) {
156
- if (! callback (lang))
157
+ if (callback (lang) == IterationAction::Stop )
157
158
break ;
158
159
}
159
160
}
@@ -289,9 +290,9 @@ void Language::PrintAllLanguages(Stream &s, const char *prefix,
289
290
}
290
291
291
292
void Language::ForAllLanguages (
292
- std::function< bool (lldb::LanguageType)> callback) {
293
+ llvm::function_ref<IterationAction (lldb::LanguageType)> callback) {
293
294
for (uint32_t i = 1 ; i < num_languages; i++) {
294
- if (! callback (language_names[i].type ))
295
+ if (callback (language_names[i].type ) == IterationAction::Stop )
295
296
break ;
296
297
}
297
298
}
@@ -416,7 +417,7 @@ std::set<lldb::LanguageType> Language::GetSupportedLanguages() {
416
417
std::set<lldb::LanguageType> supported_languages;
417
418
ForEach ([&](Language *lang) {
418
419
supported_languages.emplace (lang->GetLanguageType ());
419
- return true ;
420
+ return IterationAction::Continue ;
420
421
});
421
422
return supported_languages;
422
423
}
0 commit comments