@@ -208,6 +208,7 @@ struct PropertyInfo {
208208};
209209
210210TypedArray<Dictionary> convert_property_list (const List<PropertyInfo> *p_list);
211+ TypedArray<Dictionary> convert_property_list (const Vector<PropertyInfo> &p_vector);
211212
212213enum MethodFlags {
213214 METHOD_FLAG_NORMAL = 1 ,
@@ -226,7 +227,7 @@ struct MethodInfo {
226227 PropertyInfo return_val;
227228 uint32_t flags = METHOD_FLAGS_DEFAULT;
228229 int id = 0 ;
229- List <PropertyInfo> arguments;
230+ Vector <PropertyInfo> arguments;
230231 Vector<Variant> default_arguments;
231232 int return_val_metadata = 0 ;
232233 Vector<int > arguments_metadata;
@@ -255,31 +256,21 @@ struct MethodInfo {
255256 return_val(PropertyInfo(pinfo.return_value)),
256257 flags(pinfo.flags),
257258 id(pinfo.id) {
258- for (uint32_t j = 0 ; j < pinfo.argument_count ; j ++) {
259- arguments.push_back (PropertyInfo (pinfo.arguments [j ]));
259+ for (uint32_t i = 0 ; i < pinfo.argument_count ; i ++) {
260+ arguments.push_back (PropertyInfo (pinfo.arguments [i ]));
260261 }
261262 const Variant *def_values = (const Variant *)pinfo.default_arguments ;
262263 for (uint32_t j = 0 ; j < pinfo.default_argument_count ; j++) {
263264 default_arguments.push_back (def_values[j]);
264265 }
265266 }
266267
267- void _push_params (const PropertyInfo &p_param) {
268- arguments.push_back (p_param);
269- }
270-
271- template <typename ... VarArgs>
272- void _push_params (const PropertyInfo &p_param, VarArgs... p_params) {
273- arguments.push_back (p_param);
274- _push_params (p_params...);
275- }
276-
277268 MethodInfo (const String &p_name) { name = p_name; }
278269
279270 template <typename ... VarArgs>
280271 MethodInfo (const String &p_name, VarArgs... p_params) {
281272 name = p_name;
282- _push_params ( p_params...) ;
273+ arguments = Vector<PropertyInfo>{ p_params... } ;
283274 }
284275
285276 MethodInfo (Variant::Type ret) { return_val.type = ret; }
@@ -292,7 +283,7 @@ struct MethodInfo {
292283 MethodInfo (Variant::Type ret, const String &p_name, VarArgs... p_params) {
293284 name = p_name;
294285 return_val.type = ret;
295- _push_params ( p_params...) ;
286+ arguments = Vector<PropertyInfo>{ p_params... } ;
296287 }
297288
298289 MethodInfo (const PropertyInfo &p_ret, const String &p_name) {
@@ -304,7 +295,7 @@ struct MethodInfo {
304295 MethodInfo (const PropertyInfo &p_ret, const String &p_name, VarArgs... p_params) {
305296 return_val = p_ret;
306297 name = p_name;
307- _push_params ( p_params...) ;
298+ arguments = Vector<PropertyInfo>{ p_params... } ;
308299 }
309300};
310301
0 commit comments