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

Merge pull request #93429 from dalexeev/fix-method-signature-appearance

GDScript: Fix call hint appearance for complex callees
This commit is contained in:
Thaddeus Crews
2025-06-24 09:58:49 -05:00
2 changed files with 7 additions and 3 deletions

View File

@@ -303,7 +303,9 @@ String GDScriptDocGen::docvalue_from_expression(const GDP::ExpressionNode *p_exp
} break; } break;
case GDP::Node::CALL: { case GDP::Node::CALL: {
const GDP::CallNode *call = static_cast<const GDP::CallNode *>(p_expression); const GDP::CallNode *call = static_cast<const GDP::CallNode *>(p_expression);
return call->function_name.operator String() + (call->arguments.is_empty() ? "()" : "(...)"); if (call->get_callee_type() == GDP::Node::IDENTIFIER) {
return call->function_name.operator String() + (call->arguments.is_empty() ? "()" : "(...)");
}
} break; } break;
case GDP::Node::DICTIONARY: { case GDP::Node::DICTIONARY: {
const GDP::DictionaryNode *dict = static_cast<const GDP::DictionaryNode *>(p_expression); const GDP::DictionaryNode *dict = static_cast<const GDP::DictionaryNode *>(p_expression);
@@ -314,9 +316,11 @@ String GDScriptDocGen::docvalue_from_expression(const GDP::ExpressionNode *p_exp
return id->name; return id->name;
} break; } break;
default: { default: {
return "<unknown>"; // Nothing to do.
} break; } break;
} }
return "<unknown>";
} }
void GDScriptDocGen::_generate_docs(GDScript *p_script, const GDP::ClassNode *p_class) { void GDScriptDocGen::_generate_docs(GDScript *p_script, const GDP::ClassNode *p_class) {

View File

@@ -841,7 +841,7 @@ static String _make_arguments_hint(const GDScriptParser::FunctionNode *p_functio
const GDScriptParser::CallNode *call = static_cast<const GDScriptParser::CallNode *>(par->initializer); const GDScriptParser::CallNode *call = static_cast<const GDScriptParser::CallNode *>(par->initializer);
if (call->is_constant && call->reduced) { if (call->is_constant && call->reduced) {
def_val = call->reduced_value.get_construct_string(); def_val = call->reduced_value.get_construct_string();
} else { } else if (call->get_callee_type() == GDScriptParser::Node::IDENTIFIER) {
def_val = call->function_name.operator String() + (call->arguments.is_empty() ? "()" : "(...)"); def_val = call->function_name.operator String() + (call->arguments.is_empty() ? "()" : "(...)");
} }
} break; } break;