mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 23:31:53 -05:00
Merge commit godotengine/godot@1bbfe637c6
This commit is contained in:
@@ -853,8 +853,10 @@ public:
|
||||
IdentifierNode *identifier = nullptr;
|
||||
Vector<ParameterNode *> parameters;
|
||||
HashMap<StringName, int> parameters_indices;
|
||||
ParameterNode *rest_parameter = nullptr;
|
||||
TypeNode *return_type = nullptr;
|
||||
SuiteNode *body = nullptr;
|
||||
bool is_abstract = false;
|
||||
bool is_static = false; // For lambdas it's determined in the analyzer.
|
||||
bool is_coroutine = false;
|
||||
Variant rpc_config;
|
||||
@@ -864,11 +866,14 @@ public:
|
||||
#ifdef TOOLS_ENABLED
|
||||
MemberDocData doc_data;
|
||||
int min_local_doc_line = 0;
|
||||
String signature; // For autocompletion.
|
||||
#endif // TOOLS_ENABLED
|
||||
|
||||
bool resolved_signature = false;
|
||||
bool resolved_body = false;
|
||||
|
||||
_FORCE_INLINE_ bool is_vararg() const { return rest_parameter != nullptr; }
|
||||
|
||||
FunctionNode() {
|
||||
type = FUNCTION;
|
||||
}
|
||||
@@ -1503,14 +1508,14 @@ private:
|
||||
ClassNode *parse_class(bool p_is_abstract, bool p_is_static);
|
||||
void parse_class_name();
|
||||
void parse_extends();
|
||||
void parse_class_body(bool p_is_abstract, bool p_is_multiline);
|
||||
void parse_class_body(bool p_first_is_abstract, bool p_is_multiline);
|
||||
template <typename T>
|
||||
void parse_class_member(T *(GDScriptParser::*p_parse_function)(bool, bool), AnnotationInfo::TargetKind p_target, const String &p_member_kind, bool p_is_abstract = false, bool p_is_static = false);
|
||||
SignalNode *parse_signal(bool p_is_abstract, bool p_is_static);
|
||||
EnumNode *parse_enum(bool p_is_abstract, bool p_is_static);
|
||||
ParameterNode *parse_parameter();
|
||||
FunctionNode *parse_function(bool p_is_abstract, bool p_is_static);
|
||||
void parse_function_signature(FunctionNode *p_function, SuiteNode *p_body, const String &p_type);
|
||||
void parse_function_signature(FunctionNode *p_function, SuiteNode *p_body, const String &p_type, int p_signature_start);
|
||||
SuiteNode *parse_suite(const String &p_context, SuiteNode *p_suite = nullptr, bool p_for_lambda = false);
|
||||
// Annotations
|
||||
AnnotationNode *parse_annotation(uint32_t p_valid_targets);
|
||||
|
||||
Reference in New Issue
Block a user