mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00
Skip copying values constructed immediately before returning
This commit is contained in:
parent
9283328fe7
commit
754d49ac81
14 changed files with 35 additions and 60 deletions
|
@ -76,8 +76,7 @@ void EditorExpressionEvaluator::_clear() {
|
|||
}
|
||||
|
||||
void EditorExpressionEvaluator::_remote_object_selected(ObjectID p_id) {
|
||||
Array arr = { p_id };
|
||||
editor_debugger->emit_signal(SNAME("remote_objects_requested"), arr);
|
||||
editor_debugger->emit_signal(SNAME("remote_objects_requested"), Array{ p_id });
|
||||
}
|
||||
|
||||
void EditorExpressionEvaluator::_on_expression_input_changed(const String &p_expression) {
|
||||
|
|
|
@ -288,8 +288,7 @@ void ScriptEditorDebugger::clear_inspector(bool p_send_msg) {
|
|||
}
|
||||
|
||||
void ScriptEditorDebugger::_remote_object_selected(ObjectID p_id) {
|
||||
Array arr = { p_id };
|
||||
emit_signal(SNAME("remote_objects_requested"), arr);
|
||||
emit_signal(SNAME("remote_objects_requested"), Array{ p_id });
|
||||
}
|
||||
|
||||
void ScriptEditorDebugger::_remote_objects_edited(const String &p_prop, const TypedDictionary<uint64_t, Variant> &p_values, const String &p_field) {
|
||||
|
|
|
@ -1114,8 +1114,7 @@ HashMap<Vector2i, TileMapCell> TileMapLayerEditorTilesPlugin::_draw_rect(Vector2
|
|||
// Get or create the pattern.
|
||||
Ref<TileMapPattern> pattern = p_erase ? erase_pattern : selection_pattern;
|
||||
|
||||
HashMap<Vector2i, TileMapCell> err_output;
|
||||
ERR_FAIL_COND_V(pattern->is_empty(), err_output);
|
||||
ERR_FAIL_COND_V(pattern->is_empty(), (HashMap<Vector2i, TileMapCell>()));
|
||||
|
||||
// Compute the offset to align things to the bottom or right.
|
||||
bool aligned_right = p_end_cell.x < p_start_cell.x;
|
||||
|
|
|
@ -1476,8 +1476,7 @@ void TileSetAtlasSourceEditor::_end_dragging() {
|
|||
undo_redo->add_do_method(tile_set_atlas_source, "move_tile_in_atlas", drag_start_tile_shape.position, drag_current_tile, tile_set_atlas_source->get_tile_size_in_atlas(drag_current_tile));
|
||||
undo_redo->add_do_method(this, "_set_selection_from_array", _get_selection_as_array());
|
||||
undo_redo->add_undo_method(tile_set_atlas_source, "move_tile_in_atlas", drag_current_tile, drag_start_tile_shape.position, drag_start_tile_shape.size);
|
||||
Array array = { drag_start_tile_shape.position, 0 };
|
||||
undo_redo->add_undo_method(this, "_set_selection_from_array", array);
|
||||
undo_redo->add_undo_method(this, "_set_selection_from_array", Array{ drag_start_tile_shape.position, 0 });
|
||||
undo_redo->commit_action(false);
|
||||
}
|
||||
break;
|
||||
|
@ -1574,8 +1573,7 @@ void TileSetAtlasSourceEditor::_end_dragging() {
|
|||
undo_redo->add_do_method(tile_set_atlas_source, "move_tile_in_atlas", drag_start_tile_shape.position, drag_current_tile, tile_set_atlas_source->get_tile_size_in_atlas(drag_current_tile));
|
||||
undo_redo->add_do_method(this, "_set_selection_from_array", _get_selection_as_array());
|
||||
undo_redo->add_undo_method(tile_set_atlas_source, "move_tile_in_atlas", drag_current_tile, drag_start_tile_shape.position, drag_start_tile_shape.size);
|
||||
Array array = { drag_start_tile_shape.position, 0 };
|
||||
undo_redo->add_undo_method(this, "_set_selection_from_array", array);
|
||||
undo_redo->add_undo_method(this, "_set_selection_from_array", Array{ drag_start_tile_shape.position, 0 });
|
||||
undo_redo->commit_action(false);
|
||||
}
|
||||
break;
|
||||
|
@ -1663,8 +1661,7 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) {
|
|||
case TILE_CREATE: {
|
||||
undo_redo->create_action(TTR("Create a tile"));
|
||||
undo_redo->add_do_method(tile_set_atlas_source, "create_tile", menu_option_coords);
|
||||
Array array = { menu_option_coords, 0 };
|
||||
undo_redo->add_do_method(this, "_set_selection_from_array", array);
|
||||
undo_redo->add_do_method(this, "_set_selection_from_array", Array{ menu_option_coords, 0 });
|
||||
undo_redo->add_undo_method(tile_set_atlas_source, "remove_tile", menu_option_coords);
|
||||
undo_redo->add_undo_method(this, "_set_selection_from_array", _get_selection_as_array());
|
||||
undo_redo->commit_action();
|
||||
|
|
|
@ -265,7 +265,7 @@ void ENetConnection::get_peers(List<Ref<ENetPacketPeer>> &r_peers) {
|
|||
}
|
||||
|
||||
TypedArray<ENetPacketPeer> ENetConnection::_get_peers() {
|
||||
ERR_FAIL_NULL_V_MSG(host, Array(), "The ENetConnection instance isn't currently active.");
|
||||
ERR_FAIL_NULL_V_MSG(host, TypedArray<ENetPacketPeer>(), "The ENetConnection instance isn't currently active.");
|
||||
TypedArray<ENetPacketPeer> out;
|
||||
for (const Ref<ENetPacketPeer> &I : peers) {
|
||||
out.push_back(I);
|
||||
|
|
|
@ -885,8 +885,8 @@ const Array &ExtendGDScriptParser::get_member_completions() {
|
|||
}
|
||||
|
||||
Dictionary ExtendGDScriptParser::dump_function_api(const GDScriptParser::FunctionNode *p_func) const {
|
||||
ERR_FAIL_NULL_V(p_func, Dictionary());
|
||||
Dictionary func;
|
||||
ERR_FAIL_NULL_V(p_func, func);
|
||||
func["name"] = p_func->identifier->name;
|
||||
func["return_type"] = p_func->get_datatype().to_string();
|
||||
func["rpc_config"] = p_func->rpc_config;
|
||||
|
@ -909,10 +909,9 @@ Dictionary ExtendGDScriptParser::dump_function_api(const GDScriptParser::Functio
|
|||
}
|
||||
|
||||
Dictionary ExtendGDScriptParser::dump_class_api(const GDScriptParser::ClassNode *p_class) const {
|
||||
ERR_FAIL_NULL_V(p_class, Dictionary());
|
||||
Dictionary class_api;
|
||||
|
||||
ERR_FAIL_NULL_V(p_class, class_api);
|
||||
|
||||
class_api["name"] = p_class->identifier != nullptr ? String(p_class->identifier->name) : String();
|
||||
class_api["path"] = path;
|
||||
Array extends_class;
|
||||
|
|
|
@ -355,13 +355,11 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) {
|
|||
}
|
||||
|
||||
Array GDScriptTextDocument::foldingRange(const Dictionary &p_params) {
|
||||
Array arr;
|
||||
return arr;
|
||||
return Array();
|
||||
}
|
||||
|
||||
Array GDScriptTextDocument::codeLens(const Dictionary &p_params) {
|
||||
Array arr;
|
||||
return arr;
|
||||
return Array();
|
||||
}
|
||||
|
||||
Array GDScriptTextDocument::documentLink(const Dictionary &p_params) {
|
||||
|
@ -379,8 +377,7 @@ Array GDScriptTextDocument::documentLink(const Dictionary &p_params) {
|
|||
}
|
||||
|
||||
Array GDScriptTextDocument::colorPresentation(const Dictionary &p_params) {
|
||||
Array arr;
|
||||
return arr;
|
||||
return Array();
|
||||
}
|
||||
|
||||
Variant GDScriptTextDocument::hover(const Dictionary &p_params) {
|
||||
|
@ -416,8 +413,7 @@ Array GDScriptTextDocument::definition(const Dictionary &p_params) {
|
|||
LSP::TextDocumentPositionParams params;
|
||||
params.load(p_params);
|
||||
List<const LSP::DocumentSymbol *> symbols;
|
||||
Array arr = find_symbols(params, symbols);
|
||||
return arr;
|
||||
return find_symbols(params, symbols);
|
||||
}
|
||||
|
||||
Variant GDScriptTextDocument::declaration(const Dictionary &p_params) {
|
||||
|
|
|
@ -575,8 +575,7 @@ struct SaveOptions {
|
|||
*/
|
||||
struct ColorProviderOptions {
|
||||
Dictionary to_json() {
|
||||
Dictionary dict;
|
||||
return dict;
|
||||
return Dictionary();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -585,8 +584,7 @@ struct ColorProviderOptions {
|
|||
*/
|
||||
struct FoldingRangeProviderOptions {
|
||||
Dictionary to_json() {
|
||||
Dictionary dict;
|
||||
return dict;
|
||||
return Dictionary();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -271,7 +271,7 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
|||
}
|
||||
|
||||
TypedArray<RegExMatch> RegEx::search_all(const String &p_subject, int p_offset, int p_end) const {
|
||||
ERR_FAIL_COND_V_MSG(p_offset < 0, Array(), "RegEx search offset must be >= 0");
|
||||
ERR_FAIL_COND_V_MSG(p_offset < 0, TypedArray<RegExMatch>(), "RegEx search offset must be >= 0");
|
||||
|
||||
int last_end = 0;
|
||||
TypedArray<RegExMatch> result;
|
||||
|
|
|
@ -571,23 +571,19 @@ void TileMap::set_pattern(int p_layer, const Vector2i &p_position, const Ref<Til
|
|||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_constraints(int p_layer, const Vector<Vector2i> &p_to_replace, int p_terrain_set, const RBSet<TerrainConstraint> &p_constraints) {
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> err_value;
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, err_value, terrain_fill_constraints, p_to_replace, p_terrain_set, p_constraints);
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, (HashMap<Vector2i, TileSet::TerrainsPattern>()), terrain_fill_constraints, p_to_replace, p_terrain_set, p_constraints);
|
||||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_connect(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) {
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> err_value;
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, err_value, terrain_fill_connect, p_coords_array, p_terrain_set, p_terrain, p_ignore_empty_terrains);
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, (HashMap<Vector2i, TileSet::TerrainsPattern>()), terrain_fill_connect, p_coords_array, p_terrain_set, p_terrain, p_ignore_empty_terrains);
|
||||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_path(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) {
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> err_value;
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, err_value, terrain_fill_path, p_coords_array, p_terrain_set, p_terrain, p_ignore_empty_terrains);
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, (HashMap<Vector2i, TileSet::TerrainsPattern>()), terrain_fill_path, p_coords_array, p_terrain_set, p_terrain, p_ignore_empty_terrains);
|
||||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_pattern(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern, bool p_ignore_empty_terrains) {
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> err_value;
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, err_value, terrain_fill_pattern, p_coords_array, p_terrain_set, p_terrains_pattern, p_ignore_empty_terrains);
|
||||
TILEMAP_CALL_FOR_LAYER_V(p_layer, (HashMap<Vector2i, TileSet::TerrainsPattern>()), terrain_fill_pattern, p_coords_array, p_terrain_set, p_terrains_pattern, p_ignore_empty_terrains);
|
||||
}
|
||||
|
||||
void TileMap::set_cells_terrain_connect(int p_layer, TypedArray<Vector2i> p_cells, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) {
|
||||
|
|
|
@ -2391,9 +2391,9 @@ HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_constrain
|
|||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_connect(const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) const {
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> output;
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), output);
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output);
|
||||
|
||||
// Build list and set of tiles that can be modified (painted and their surroundings).
|
||||
Vector<Vector2i> can_modify_list;
|
||||
|
@ -2491,14 +2491,13 @@ HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_connect(c
|
|||
}
|
||||
|
||||
// Fill the terrains.
|
||||
output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
return output;
|
||||
return terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_path(const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) const {
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> output;
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), output);
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output);
|
||||
|
||||
// Make sure the path is correct and build the peering bit list while doing it.
|
||||
Vector<TileSet::CellNeighbor> neighbor_list;
|
||||
|
@ -2564,14 +2563,13 @@ HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_path(cons
|
|||
}
|
||||
|
||||
// Fill the terrains.
|
||||
output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
return output;
|
||||
return terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_pattern(const Vector<Vector2i> &p_coords_array, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern, bool p_ignore_empty_terrains) const {
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), (HashMap<Vector2i, TileSet::TerrainsPattern>()));
|
||||
HashMap<Vector2i, TileSet::TerrainsPattern> output;
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), output);
|
||||
ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output);
|
||||
|
||||
// Build list and set of tiles that can be modified (painted and their surroundings).
|
||||
Vector<Vector2i> can_modify_list;
|
||||
|
@ -2616,8 +2614,7 @@ HashMap<Vector2i, TileSet::TerrainsPattern> TileMapLayer::terrain_fill_pattern(c
|
|||
}
|
||||
|
||||
// Fill the terrains.
|
||||
output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
return output;
|
||||
return terrain_fill_constraints(can_modify_list, p_terrain_set, constraints);
|
||||
}
|
||||
|
||||
TileMapCell TileMapLayer::get_cell(const Vector2i &p_coords) const {
|
||||
|
@ -3596,11 +3593,10 @@ TileMapLayer::~TileMapLayer() {
|
|||
}
|
||||
|
||||
HashMap<Vector2i, TileSet::CellNeighbor> TerrainConstraint::get_overlapping_coords_and_peering_bits() const {
|
||||
ERR_FAIL_COND_V(is_center_bit(), (HashMap<Vector2i, TileSet::CellNeighbor>()));
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), (HashMap<Vector2i, TileSet::CellNeighbor>()));
|
||||
HashMap<Vector2i, TileSet::CellNeighbor> output;
|
||||
|
||||
ERR_FAIL_COND_V(is_center_bit(), output);
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), output);
|
||||
|
||||
TileSet::TileShape shape = tile_set->get_tile_shape();
|
||||
if (shape == TileSet::TILE_SHAPE_SQUARE) {
|
||||
switch (bit) {
|
||||
|
|
|
@ -67,8 +67,7 @@ Array ResourcePreloader::_get_resources() const {
|
|||
i++;
|
||||
}
|
||||
|
||||
Array res = { names, arr };
|
||||
return res;
|
||||
return Array{ names, arr };
|
||||
}
|
||||
|
||||
void ResourcePreloader::add_resource(const StringName &p_name, const Ref<Resource> &p_resource) {
|
||||
|
|
|
@ -1301,12 +1301,10 @@ Array TileSet::map_tile_proxy(int p_source_from, Vector2i p_coords_from, int p_a
|
|||
|
||||
// Source matches.
|
||||
if (source_level_proxies.has(p_source_from)) {
|
||||
Array output = { source_level_proxies[p_source_from], p_coords_from, p_alternative_from };
|
||||
return output;
|
||||
return Array{ source_level_proxies[p_source_from], p_coords_from, p_alternative_from };
|
||||
}
|
||||
|
||||
Array output = { p_source_from, p_coords_from, p_alternative_from };
|
||||
return output;
|
||||
return Array{ p_source_from, p_coords_from, p_alternative_from };
|
||||
}
|
||||
|
||||
void TileSet::cleanup_invalid_tile_proxies() {
|
||||
|
|
|
@ -73,8 +73,7 @@ bool ServersDebugger::ResourceUsage::deserialize(const Array &p_arr) {
|
|||
}
|
||||
|
||||
Array ServersDebugger::ScriptFunctionSignature::serialize() {
|
||||
Array arr = { name, id };
|
||||
return arr;
|
||||
return Array{ name, id };
|
||||
}
|
||||
|
||||
bool ServersDebugger::ScriptFunctionSignature::deserialize(const Array &p_arr) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue