From 4e6efd1b07f1c6d53d226977ddc729333b74306a Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Thu, 15 Jul 2021 23:45:57 -0400 Subject: Use C++ iterators for Lists in many situations --- modules/gdscript/gdscript.cpp | 61 +++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 31 deletions(-) (limited to 'modules/gdscript/gdscript.cpp') diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index f7113674ec..79cc90b92f 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -291,8 +291,8 @@ void GDScript::_get_script_property_list(List *r_list, bool p_incl sptr = sptr->_base; } - for (List::Element *E = props.front(); E; E = E->next()) { - r_list->push_back(E->get()); + for (PropertyInfo &E : props) { + r_list->push_back(E); } } @@ -401,8 +401,8 @@ void GDScript::_update_exports_values(Map &values, Listkey()] = E->get(); } - for (List::Element *E = members_cache.front(); E; E = E->next()) { - propnames.push_back(E->get()); + for (PropertyInfo &E : members_cache) { + propnames.push_back(E); } } @@ -861,8 +861,8 @@ Error GDScript::reload(bool p_keep_state) { } } #ifdef DEBUG_ENABLED - for (const List::Element *E = parser.get_warnings().front(); E; E = E->next()) { - const GDScriptWarning &warning = E->get(); + for (const GDScriptWarning &E : parser.get_warnings()) { + const GDScriptWarning &warning = E; if (EngineDebugger::is_active()) { Vector si; EngineDebugger::get_script_debugger()->send_error("", get_path(), warning.start_line, warning.get_name(), warning.get_message(), ERR_HANDLER_WARNING, si); @@ -1445,8 +1445,8 @@ void GDScriptInstance::get_property_list(List *p_properties) const sptr = sptr->_base; } - for (List::Element *E = props.front(); E; E = E->next()) { - p_properties->push_back(E->get()); + for (PropertyInfo &E : props) { + p_properties->push_back(E); } } @@ -1644,8 +1644,7 @@ void GDScriptLanguage::init() { List class_list; ClassDB::get_class_list(&class_list); - for (List::Element *E = class_list.front(); E; E = E->next()) { - StringName n = E->get(); + for (StringName &n : class_list) { String s = String(n); if (s.begins_with("_")) { n = s.substr(1, s.length()); @@ -1654,7 +1653,7 @@ void GDScriptLanguage::init() { if (globals.has(n)) { continue; } - Ref nc = memnew(GDScriptNativeClass(E->get())); + Ref nc = memnew(GDScriptNativeClass(n)); _add_global(n, nc); } @@ -1662,8 +1661,8 @@ void GDScriptLanguage::init() { List singletons; Engine::get_singleton()->get_singletons(&singletons); - for (List::Element *E = singletons.front(); E; E = E->next()) { - _add_global(E->get().name, E->get().ptr); + for (Engine::Singleton &E : singletons) { + _add_global(E.name, E.ptr); } #ifdef TESTS_ENABLED @@ -1806,10 +1805,10 @@ void GDScriptLanguage::reload_all_scripts() { scripts.sort_custom(); //update in inheritance dependency order - for (List>::Element *E = scripts.front(); E; E = E->next()) { - print_verbose("GDScript: Reloading: " + E->get()->get_path()); - E->get()->load_source_code(E->get()->get_path()); - E->get()->reload(true); + for (Ref E : scripts) { + print_verbose("GDScript: Reloading: " + E->get_path()); + E->load_source_code(E->get_path()); + E->reload(true); } #endif } @@ -1838,21 +1837,21 @@ void GDScriptLanguage::reload_tool_script(const Ref