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

GDScript: Add support for variadic functions

This commit is contained in:
Danil Alexeev
2025-03-30 12:59:05 +03:00
parent 3b963ab8b6
commit ee121ef80e
33 changed files with 416 additions and 65 deletions

View File

@@ -408,13 +408,25 @@ void GDScriptDocGen::_generate_docs(GDScript *p_script, const GDP::ClassNode *p_
method_doc.is_experimental = m_func->doc_data.is_experimental;
method_doc.experimental_message = m_func->doc_data.experimental_message;
// Currently, an abstract function cannot be static.
if (m_func->is_vararg()) {
if (!method_doc.qualifiers.is_empty()) {
method_doc.qualifiers += " ";
}
method_doc.qualifiers += "vararg";
method_doc.rest_argument.name = m_func->rest_parameter->identifier->name;
_doctype_from_gdtype(m_func->rest_parameter->get_datatype(), method_doc.rest_argument.type, method_doc.rest_argument.enumeration);
}
if (m_func->is_abstract) {
method_doc.qualifiers = "abstract";
} else if (m_func->is_static) {
method_doc.qualifiers = "static";
} else {
method_doc.qualifiers = "";
if (!method_doc.qualifiers.is_empty()) {
method_doc.qualifiers += " ";
}
method_doc.qualifiers += "abstract";
}
if (m_func->is_static) {
if (!method_doc.qualifiers.is_empty()) {
method_doc.qualifiers += " ";
}
method_doc.qualifiers += "static";
}
if (func_name == "_init") {