Merge pull request #81079 from dalexeev/gds-fix-get-method-list

GDScript: Fix `get_*_list()` methods return incorrect info
This commit is contained in:
Rémi Verschelde 2023-09-11 15:36:52 +02:00
commit 13f0ab88f2
No known key found for this signature in database
GPG key ID: C3336907360768E1
15 changed files with 429 additions and 305 deletions

View file

@ -147,7 +147,9 @@ public:
_FORCE_INLINE_ bool has_no_type() const { return type_source == UNDETECTED; }
_FORCE_INLINE_ bool is_variant() const { return kind == VARIANT || kind == RESOLVING || kind == UNRESOLVED; }
_FORCE_INLINE_ bool is_hard_type() const { return type_source > INFERRED; }
String to_string() const;
PropertyInfo to_property_info(const String &p_name) const;
_FORCE_INLINE_ void set_container_element_type(const DataType &p_type) {
container_element_type = memnew(DataType(p_type));
@ -749,6 +751,10 @@ public:
bool resolved_interface = false;
bool resolved_body = false;
StringName get_global_name() const {
return (outer == nullptr && identifier != nullptr) ? identifier->name : StringName();
}
Member get_member(const StringName &p_name) const {
return members[members_indices[p_name]];
}
@ -836,8 +842,8 @@ public:
Variant rpc_config;
MethodInfo info;
LambdaNode *source_lambda = nullptr;
#ifdef TOOLS_ENABLED
Vector<Variant> default_arg_values;
#ifdef TOOLS_ENABLED
MemberDocData doc_data;
#endif // TOOLS_ENABLED
@ -1026,6 +1032,7 @@ public:
IdentifierNode *identifier = nullptr;
Vector<ParameterNode *> parameters;
HashMap<StringName, int> parameters_indices;
MethodInfo method_info;
#ifdef TOOLS_ENABLED
MemberDocData doc_data;
#endif // TOOLS_ENABLED