Skip to content

Commit c6ea551

Browse files
committed
autodoc: fix links to functions in generic types
1 parent 2d617c4 commit c6ea551

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

lib/docs/main.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2741,9 +2741,19 @@ var zigAnalysis;
27412741
if ("type" in rv.expr) {
27422742
const t = getType(rv.expr.type);
27432743
if (t.kind == typeKinds.Fn && t.generic_ret != null) {
2744-
const rgr = resolveValue({ expr: t.generic_ret });
2745-
if ("type" in rgr.expr) {
2746-
parentType = getType(rgr.expr.type);
2744+
let resolvedGenericRet = resolveValue({ expr: t.generic_ret });
2745+
2746+
if ("call" in resolvedGenericRet.expr) {
2747+
let call = zigAnalysis.calls[resolvedGenericRet.expr.call];
2748+
let resolvedFunc = resolveValue({ expr: call.func });
2749+
if (!("type" in resolvedFunc.expr)) return null;
2750+
let callee = getType(resolvedFunc.expr.type);
2751+
if (!callee.generic_ret) return null;
2752+
resolvedGenericRet = resolveValue({ expr: callee.generic_ret });
2753+
}
2754+
2755+
if ("type" in resolvedGenericRet.expr) {
2756+
parentType = getType(resolvedGenericRet.expr.type);
27472757
}
27482758
}
27492759
}

0 commit comments

Comments
 (0)