summaryrefslogtreecommitdiffstats
path: root/core/extension/gdextension.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-07 09:04:44 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-07 09:04:44 +0200
commite63252b4219680d109bfa41c24f483e97b37f40e (patch)
tree8b8af6d7efcab9b2692d45dec65449fd83d2c8b9 /core/extension/gdextension.cpp
parent570220ba9b127325f1a5aa7bb17d5c6f76ccf62c (diff)
parent955d5affa857ec1f358c56da8fb1ff4ab6590704 (diff)
downloadredot-engine-e63252b4219680d109bfa41c24f483e97b37f40e.tar.gz
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
Diffstat (limited to 'core/extension/gdextension.cpp')
-rw-r--r--core/extension/gdextension.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/extension/gdextension.cpp b/core/extension/gdextension.cpp
index b48ea97040..a26bb3e8f3 100644
--- a/core/extension/gdextension.cpp
+++ b/core/extension/gdextension.cpp
@@ -211,14 +211,14 @@ protected:
if (p_arg < 0) {
return return_value_info.type;
} else {
- return arguments_info[p_arg].type;
+ return arguments_info.get(p_arg).type;
}
}
virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
if (p_arg < 0) {
return return_value_info;
} else {
- return arguments_info[p_arg];
+ return arguments_info.get(p_arg);
}
}
@@ -232,7 +232,7 @@ public:
if (p_arg < 0) {
return return_value_metadata;
} else {
- return arguments_metadata[p_arg];
+ return arguments_metadata.get(p_arg);
}
}
#endif
@@ -319,8 +319,9 @@ public:
return false;
}
- for (uint32_t i = 0; i < p_method_info->argument_count; i++) {
- if (arguments_info[i].type != (Variant::Type)p_method_info->arguments_info[i].type) {
+ List<PropertyInfo>::ConstIterator itr = arguments_info.begin();
+ for (uint32_t i = 0; i < p_method_info->argument_count; ++itr, ++i) {
+ if (itr->type != (Variant::Type)p_method_info->arguments_info[i].type) {
return false;
}
}