diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index 8f293a3000d..0bad7a7a986 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -1640,7 +1640,7 @@ void ProjectSettings::_bind_methods() { void ProjectSettings::_add_builtin_input_map() { if (InputMap::get_singleton()) { - HashMap>> builtins = InputMap::get_singleton()->get_builtins(); + HashMap>> builtins(InputMap::get_singleton()->get_builtins()); for (KeyValue>> &E : builtins) { Array events; diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp index 6d8ab34267f..0dd57f4e6c2 100644 --- a/core/input/input_map.cpp +++ b/core/input/input_map.cpp @@ -900,7 +900,7 @@ const HashMap>> &InputMap::get_builtins_with_featur } void InputMap::load_default() { - HashMap>> builtins = get_builtins_with_feature_overrides_applied(); + HashMap>> builtins(get_builtins_with_feature_overrides_applied()); for (const KeyValue>> &E : builtins) { String name = E.key; diff --git a/core/templates/a_hash_map.h b/core/templates/a_hash_map.h index 079cf1b1302..18c4f40e092 100644 --- a/core/templates/a_hash_map.h +++ b/core/templates/a_hash_map.h @@ -673,7 +673,7 @@ public: p_other._size = 0; } - AHashMap(const AHashMap &p_other) { + explicit AHashMap(const AHashMap &p_other) { _init_from(p_other); } diff --git a/core/templates/hash_map.h b/core/templates/hash_map.h index 7cb23dd6f7f..3dbcae703f2 100644 --- a/core/templates/hash_map.h +++ b/core/templates/hash_map.h @@ -582,7 +582,7 @@ public: /* Constructors */ - HashMap(const HashMap &p_other) { + explicit HashMap(const HashMap &p_other) { reserve(hash_table_size_primes[p_other._capacity_idx]); if (p_other._size == 0) { diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp index 02443b00027..346e9064625 100644 --- a/drivers/gles3/shader_gles3.cpp +++ b/drivers/gles3/shader_gles3.cpp @@ -619,7 +619,7 @@ bool ShaderGLES3::_load_from_cache(Version *p_version) { variant.insert(specialization_key, specialization); } - variants.push_back(variant); + variants.push_back(std::move(variant)); } p_version->variants = variants; @@ -705,8 +705,7 @@ void ShaderGLES3::_initialize_version(Version *p_version) { } p_version->variants.reserve(variant_count); for (int i = 0; i < variant_count; i++) { - AHashMap variant; - p_version->variants.push_back(variant); + p_version->variants.push_back(AHashMap()); Version::Specialization spec; _compile_specialization(spec, i, p_version, specialization_default_mask); p_version->variants[i].insert(specialization_default_mask, spec); diff --git a/editor/docks/filesystem_dock.cpp b/editor/docks/filesystem_dock.cpp index 674ef7f222b..db3602fd9b3 100644 --- a/editor/docks/filesystem_dock.cpp +++ b/editor/docks/filesystem_dock.cpp @@ -1656,7 +1656,7 @@ void FileSystemDock::_update_dependencies_after_move(const HashMap &p_renames, const HashMap &p_folders_renames) { // Find all project settings of type FILE and replace them if needed. - const HashMap prop_info = ProjectSettings::get_singleton()->get_custom_property_info(); + const HashMap prop_info(ProjectSettings::get_singleton()->get_custom_property_info()); for (const KeyValue &E : prop_info) { if (E.value.hint == PROPERTY_HINT_FILE || E.value.hint == PROPERTY_HINT_FILE_PATH) { String old_path = GLOBAL_GET(E.key); diff --git a/editor/file_system/editor_file_system.cpp b/editor/file_system/editor_file_system.cpp index cdfb403f2fe..58d3ec34ec5 100644 --- a/editor/file_system/editor_file_system.cpp +++ b/editor/file_system/editor_file_system.cpp @@ -2785,7 +2785,7 @@ Error EditorFileSystem::_reimport_file(const String &p_file, const HashMap params = p_custom_options; + HashMap params(p_custom_options); String importer_name; //empty by default though if (!p_custom_importer.is_empty()) { diff --git a/editor/import/3d/scene_import_settings.cpp b/editor/import/3d/scene_import_settings.cpp index 1e3f95300ee..aad0243ca9c 100644 --- a/editor/import/3d/scene_import_settings.cpp +++ b/editor/import/3d/scene_import_settings.cpp @@ -1022,7 +1022,7 @@ void SceneImportSettingsDialog::_inspector_property_edited(const String &p_name) if (!animation_map.has(selected_id)) { return; } - HashMap settings = animation_map[selected_id].settings; + HashMap settings(animation_map[selected_id].settings); if (settings.has(p_name)) { animation_loop_mode = static_cast((int)settings[p_name]); } else { @@ -1106,7 +1106,7 @@ void SceneImportSettingsDialog::_reset_animation(const String &p_animation_name) animation_pingpong = false; if (animation_map.has(p_animation_name)) { - HashMap settings = animation_map[p_animation_name].settings; + HashMap settings(animation_map[p_animation_name].settings); if (settings.has("settings/loop_mode")) { animation_loop_mode = static_cast((int)settings["settings/loop_mode"]); } diff --git a/editor/inspector/editor_properties.cpp b/editor/inspector/editor_properties.cpp index 2f1289a2cf8..ad6f1e05332 100644 --- a/editor/inspector/editor_properties.cpp +++ b/editor/inspector/editor_properties.cpp @@ -3771,7 +3771,7 @@ static EditorProperty *get_input_action_editor(const String &p_hint_text, bool i ProjectSettings::get_singleton()->get_property_list(&pinfo); Vector hints = p_hint_text.remove_char(' ').split(",", false); - HashMap>> builtins = InputMap::get_singleton()->get_builtins(); + HashMap>> builtins(InputMap::get_singleton()->get_builtins()); bool show_builtin = hints.has("show_builtin"); for (const PropertyInfo &pi : pinfo) { diff --git a/editor/scene/group_settings_editor.cpp b/editor/scene/group_settings_editor.cpp index 35f33c7a45f..46d46c83ce0 100644 --- a/editor/scene/group_settings_editor.cpp +++ b/editor/scene/group_settings_editor.cpp @@ -189,7 +189,7 @@ void GroupSettingsEditor::_group_name_text_changed(const String &p_name) { void GroupSettingsEditor::_modify_references(const StringName &p_name, const StringName &p_new_name, bool p_is_rename) { HashSet scenes; - HashMap> scene_groups_cache = ProjectSettings::get_singleton()->get_scene_groups_cache(); + HashMap> scene_groups_cache(ProjectSettings::get_singleton()->get_scene_groups_cache()); for (const KeyValue> &E : scene_groups_cache) { if (E.value.has(p_name)) { scenes.insert(E.key); diff --git a/editor/script/script_editor_plugin.cpp b/editor/script/script_editor_plugin.cpp index 902f76a039b..0d7a24a10e6 100644 --- a/editor/script/script_editor_plugin.cpp +++ b/editor/script/script_editor_plugin.cpp @@ -141,7 +141,7 @@ void EditorStandardSyntaxHighlighter::_update_cache() { } /* Autoloads. */ - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); for (const KeyValue &E : autoloads) { const ProjectSettings::AutoloadInfo &info = E.value; if (info.is_singleton) { diff --git a/editor/settings/editor_build_profile.cpp b/editor/settings/editor_build_profile.cpp index 812544562b4..d307232ab22 100644 --- a/editor/settings/editor_build_profile.cpp +++ b/editor/settings/editor_build_profile.cpp @@ -462,7 +462,7 @@ LocalVector EditorBuildProfile::get_build_optio HashMap> EditorBuildProfile::get_build_option_settings(BuildOption p_build_option) { ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, (HashMap>())); - return build_option_settings.has(p_build_option) ? build_option_settings[p_build_option] : HashMap>(); + return build_option_settings.has(p_build_option) ? HashMap>(build_option_settings[p_build_option]) : HashMap>(); } LocalVector EditorBuildProfile::get_build_option_classes(BuildOption p_build_option) { diff --git a/editor/settings/editor_settings.cpp b/editor/settings/editor_settings.cpp index 5ddf60ab8b1..dc35960d28a 100644 --- a/editor/settings/editor_settings.cpp +++ b/editor/settings/editor_settings.cpp @@ -1637,7 +1637,7 @@ Vector EditorSettings::get_favorites() const { } HashMap EditorSettings::get_favorite_properties() const { - return favorite_properties; + return HashMap(favorite_properties); } void EditorSettings::set_recent_dirs(const Vector &p_recent_dirs, bool p_update_file_dialog) { diff --git a/main/main.cpp b/main/main.cpp index 064c20dab44..2ca6ef04d15 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -4364,7 +4364,7 @@ int Main::start() { if (!game_path.is_empty() || !script.is_empty()) { //autoload OS::get_singleton()->benchmark_begin_measure("Startup", "Load Autoloads"); - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); //first pass, add the constants so they exist before any script is loaded for (const KeyValue &E : autoloads) { diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 44e2daac973..19ba1b740fd 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -419,7 +419,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code if (GDScriptLanguage::get_singleton()->get_global_map().has(identifier)) { // If it's an autoload singleton, we postpone to load it at runtime. // This is so one autoload doesn't try to load another before it's compiled. - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); if (autoloads.has(identifier) && autoloads[identifier].is_singleton) { GDScriptCodeGenerator::Address global = codegen.add_temporary(_gdtype_from_datatype(in->get_datatype(), codegen.script)); int idx = GDScriptLanguage::get_singleton()->get_global_map()[identifier]; diff --git a/modules/gdscript/gdscript_compiler.h b/modules/gdscript/gdscript_compiler.h index fcd23425d4e..ce832f249d0 100644 --- a/modules/gdscript/gdscript_compiler.h +++ b/modules/gdscript/gdscript_compiler.h @@ -129,7 +129,7 @@ class GDScriptCompiler { } void start_block() { - HashMap old_locals = locals; + HashMap old_locals(locals); locals_stack.push_back(old_locals); generator->start_block(); } diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index ad8e8afb3c1..4eed13fe243 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -1123,7 +1123,7 @@ static void _list_available_types(bool p_inherit_only, GDScriptParser::Completio } // Autoload singletons - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); for (const KeyValue &E : autoloads) { const ProjectSettings::AutoloadInfo &info = E.value; diff --git a/modules/gdscript/tests/gdscript_test_runner.cpp b/modules/gdscript/tests/gdscript_test_runner.cpp index 07861790f25..00e461f076b 100644 --- a/modules/gdscript/tests/gdscript_test_runner.cpp +++ b/modules/gdscript/tests/gdscript_test_runner.cpp @@ -49,7 +49,7 @@ namespace GDScriptTests { void init_autoloads() { - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); // First pass, add the constants so they exist before any script is loaded. for (const KeyValue &E : ProjectSettings::get_singleton()->get_autoload_list()) { diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index 9e71ac8ec76..ab77745081b 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -1114,7 +1114,7 @@ void GridMap::_queue_octants_dirty() { void GridMap::_recreate_octant_data() { recreating_octants = true; - HashMap cell_copy = cell_map; + HashMap cell_copy(cell_map); _clear_internal(); for (const KeyValue &E : cell_copy) { set_cell_item(Vector3i(E.key), E.value.item, E.value.rot); diff --git a/modules/jolt_physics/shapes/jolt_shape_3d.cpp b/modules/jolt_physics/shapes/jolt_shape_3d.cpp index 8bd1977baca..84154e636f8 100644 --- a/modules/jolt_physics/shapes/jolt_shape_3d.cpp +++ b/modules/jolt_physics/shapes/jolt_shape_3d.cpp @@ -75,7 +75,7 @@ void JoltShape3D::remove_owner(JoltShapedObject3D *p_owner) { void JoltShape3D::remove_self() { // `remove_owner` will be called when we `remove_shape`, so we need to copy the map since the // iterator would be invalidated from underneath us. - const HashMap ref_counts_by_owner_copy = ref_counts_by_owner; + const HashMap ref_counts_by_owner_copy(ref_counts_by_owner); for (const KeyValue &E : ref_counts_by_owner_copy) { E.key->remove_shape(this); diff --git a/modules/mono/editor/code_completion.cpp b/modules/mono/editor/code_completion.cpp index b9936b8c2f3..1ff9cae612f 100644 --- a/modules/mono/editor/code_completion.cpp +++ b/modules/mono/editor/code_completion.cpp @@ -123,7 +123,7 @@ PackedStringArray get_code_completion(CompletionKind p_kind, const String &p_scr case CompletionKind::NODE_PATHS: { { // Autoloads. - HashMap autoloads = ProjectSettings::get_singleton()->get_autoload_list(); + HashMap autoloads(ProjectSettings::get_singleton()->get_autoload_list()); for (const KeyValue &E : autoloads) { const ProjectSettings::AutoloadInfo &info = E.value; diff --git a/scene/2d/physics/area_2d.cpp b/scene/2d/physics/area_2d.cpp index d0a2deb314d..03dff1d8854 100644 --- a/scene/2d/physics/area_2d.cpp +++ b/scene/2d/physics/area_2d.cpp @@ -357,7 +357,7 @@ void Area2D::_clear_monitoring() { ERR_FAIL_COND_MSG(locked, "This function can't be used during the in/out signal."); { - HashMap bmcopy = body_map; + HashMap bmcopy(body_map); body_map.clear(); //disconnect all monitored stuff @@ -385,7 +385,7 @@ void Area2D::_clear_monitoring() { } { - HashMap bmcopy = area_map; + HashMap bmcopy(area_map); area_map.clear(); //disconnect all monitored stuff diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index f7b3eb1f138..a1f65146864 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -147,7 +147,7 @@ Vector TileMap::_get_tile_map_data_using_compatibility_format(int p_layer) ERR_FAIL_INDEX_V(p_layer, (int)layers.size(), Vector()); // Export tile data to raw format. - const HashMap tile_map_layer_data = layers[p_layer]->get_tile_map_layer_data(); + const HashMap tile_map_layer_data(layers[p_layer]->get_tile_map_layer_data()); Vector tile_data; tile_data.resize(tile_map_layer_data.size() * 3); int *w = tile_data.ptrw(); diff --git a/scene/3d/physics/area_3d.cpp b/scene/3d/physics/area_3d.cpp index 4307777912e..6203625d935 100644 --- a/scene/3d/physics/area_3d.cpp +++ b/scene/3d/physics/area_3d.cpp @@ -303,7 +303,7 @@ void Area3D::_clear_monitoring() { ERR_FAIL_COND_MSG(locked, "This function can't be used during the in/out signal."); { - HashMap bmcopy = body_map; + HashMap bmcopy(body_map); body_map.clear(); //disconnect all monitored stuff @@ -332,7 +332,7 @@ void Area3D::_clear_monitoring() { } { - HashMap bmcopy = area_map; + HashMap bmcopy(area_map); area_map.clear(); //disconnect all monitored stuff diff --git a/scene/animation/animation_mixer.cpp b/scene/animation/animation_mixer.cpp index b2df09fd897..49732fd569d 100644 --- a/scene/animation/animation_mixer.cpp +++ b/scene/animation/animation_mixer.cpp @@ -2226,7 +2226,7 @@ Ref AnimationMixer::make_backup() { make_animation_instance(SceneStringName(RESET), pi); _build_backup_track_cache(); - backup->set_data(track_cache); + backup->set_data(AHashMap(track_cache)); clear_animation_instances(); return backup; diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 7218287e239..c6b2caab85c 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -3499,7 +3499,7 @@ void Node::get_argument_options(const StringName &p_function, int p_idx, List global_groups = ProjectSettings::get_singleton()->get_global_groups_list(); + HashMap global_groups(ProjectSettings::get_singleton()->get_global_groups_list()); for (const KeyValue &E : global_groups) { r_options->push_back(E.key.operator String().quote()); } diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index 78e2181da18..22362698b17 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -2008,7 +2008,7 @@ void SceneTree::get_argument_options(const StringName &p_function, int p_idx, Li add_options = names.has(p_function); } if (add_options) { - HashMap global_groups = ProjectSettings::get_singleton()->get_global_groups_list(); + HashMap global_groups(ProjectSettings::get_singleton()->get_global_groups_list()); for (const KeyValue &E : global_groups) { r_options->push_back(E.key.operator String().quote()); } diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index c577e5c7863..1df9ef98cc4 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -11616,7 +11616,7 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_ if (comp_ident) { if (is_shader_inc) { for (int i = 0; i < RenderingServer::SHADER_MAX; i++) { - const HashMap info = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(i)); + const HashMap &info = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(i)); if (info.has("global")) { for (const KeyValue &E : info["global"].built_ins) { diff --git a/tests/core/templates/test_a_hash_map.h b/tests/core/templates/test_a_hash_map.h index ae51bdad1c5..821ec523ed5 100644 --- a/tests/core/templates/test_a_hash_map.h +++ b/tests/core/templates/test_a_hash_map.h @@ -137,7 +137,7 @@ TEST_CASE("[AHashMap] Const iteration") { map.insert(123485, 1238888); map.insert(123, 111111); - const AHashMap const_map = map; + const AHashMap const_map(map); Vector> expected; expected.push_back(Pair(42, 84)); diff --git a/tests/core/templates/test_hash_map.h b/tests/core/templates/test_hash_map.h index fa022b303e2..e4b06c0ad5d 100644 --- a/tests/core/templates/test_hash_map.h +++ b/tests/core/templates/test_hash_map.h @@ -130,7 +130,7 @@ TEST_CASE("[HashMap] Const iteration") { map.insert(123485, 1238888); map.insert(123, 111111); - const HashMap const_map = map; + const HashMap const_map(map); Vector> expected; expected.push_back(Pair(42, 84));