Skip to content

Commit c0461d7

Browse files
committed
fix 从父类与overload推断当前函数返回值
1 parent 74defb4 commit c0461d7

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

crates/emmylua_code_analysis/src/compilation/analyzer/unresolve/resolve_closure.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -410,13 +410,14 @@ fn resolve_doc_function(
410410
if signature.resolve_return == SignatureReturnStatus::UnResolve
411411
|| signature.resolve_return == SignatureReturnStatus::InferResolve
412412
{
413-
signature.return_docs.clear();
414-
signature.resolve_return = SignatureReturnStatus::DocResolve;
415-
signature.return_docs.push(LuaDocReturnInfo {
416-
name: None,
417-
type_ref: doc_func.get_ret().clone(),
418-
description: None,
419-
});
413+
if signature.return_docs.is_empty() && !doc_func.get_ret().is_nil() {
414+
signature.resolve_return = SignatureReturnStatus::DocResolve;
415+
signature.return_docs.push(LuaDocReturnInfo {
416+
name: None,
417+
type_ref: doc_func.get_ret().clone(),
418+
description: None,
419+
});
420+
}
420421
}
421422
Some(true)
422423
}

0 commit comments

Comments
 (0)