summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/editor/gdscript_docgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gdscript/editor/gdscript_docgen.cpp')
-rw-r--r--modules/gdscript/editor/gdscript_docgen.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/gdscript/editor/gdscript_docgen.cpp b/modules/gdscript/editor/gdscript_docgen.cpp
index 1aecfc6de1..0b440274c0 100644
--- a/modules/gdscript/editor/gdscript_docgen.cpp
+++ b/modules/gdscript/editor/gdscript_docgen.cpp
@@ -87,7 +87,7 @@ static void _doctype_from_gdtype(const GDType &p_gdtype, String &r_type, String
case GDType::SCRIPT:
if (p_gdtype.script_type.is_valid()) {
if (p_gdtype.script_type->get_global_name() != StringName()) {
- r_type = _get_script_path(p_gdtype.script_type->get_global_name());
+ r_type = p_gdtype.script_type->get_global_name();
return;
}
if (!p_gdtype.script_type->get_path().is_empty()) {
@@ -129,10 +129,10 @@ void GDScriptDocGen::generate_docs(GDScript *p_script, const GDP::ClassNode *p_c
DocData::ClassDoc &doc = p_script->doc;
doc.script_path = _get_script_path(p_script->get_script_path());
- if (p_script->name.is_empty()) {
+ if (p_script->local_name == StringName()) {
doc.name = doc.script_path;
} else {
- doc.name = p_script->name;
+ doc.name = p_script->local_name;
}
if (p_script->_owner) {
@@ -204,6 +204,9 @@ void GDScriptDocGen::generate_docs(GDScript *p_script, const GDP::ClassNode *p_c
if (m_func->return_type) {
_doctype_from_gdtype(m_func->return_type->get_datatype(), method_doc.return_type, method_doc.return_enum, true);
+ } else if (!m_func->body->has_return) {
+ // If no `return` statement, then return type is `void`, not `Variant`.
+ method_doc.return_type = "void";
} else {
method_doc.return_type = "Variant";
}