1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Autocompletion: Don't add parenthesis if Callable is expected

This commit is contained in:
HolonProduction
2024-08-31 12:12:19 +02:00
parent af2c713971
commit e7487263ad
16 changed files with 260 additions and 89 deletions

View File

@@ -1714,6 +1714,12 @@ void GDScriptAnalyzer::resolve_function_signature(GDScriptParser::FunctionNode *
static_context = p_function->is_static;
}
MethodInfo method_info;
method_info.name = function_name;
if (p_function->is_static) {
method_info.flags |= MethodFlags::METHOD_FLAG_STATIC;
}
GDScriptParser::DataType prev_datatype = p_function->get_datatype();
GDScriptParser::DataType resolving_datatype;
@@ -1733,6 +1739,7 @@ void GDScriptAnalyzer::resolve_function_signature(GDScriptParser::FunctionNode *
for (int i = 0; i < p_function->parameters.size(); i++) {
resolve_parameter(p_function->parameters[i]);
method_info.arguments.push_back(p_function->parameters[i]->get_datatype().to_property_info(p_function->parameters[i]->identifier->name));
#ifdef DEBUG_ENABLED
if (p_function->parameters[i]->usages == 0 && !String(p_function->parameters[i]->identifier->name).begins_with("_")) {
parser->push_warning(p_function->parameters[i]->identifier, GDScriptWarning::UNUSED_PARAMETER, function_visible_name, p_function->parameters[i]->identifier->name);
@@ -1883,6 +1890,10 @@ void GDScriptAnalyzer::resolve_function_signature(GDScriptParser::FunctionNode *
}
#endif
method_info.default_arguments.append_array(p_function->default_arg_values);
method_info.return_val = p_function->get_datatype().to_property_info("");
p_function->info = method_info;
if (p_function->get_datatype().is_resolving()) {
p_function->set_datatype(prev_datatype);
}