authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2023-01-05 15:42:05+01:00
committergravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2023-01-05 15:42:05+01:00
logc6ea551c7d79195d0b385efdf34f30edf84733d1
treed758489ec1a23137b3774da6e01390911d6c7a22
parent2d617c482ca24563a27125d626ac51e194d49eff

autodoc: fix links to functions in generic types


1 files changed, 13 insertions(+), 3 deletions(-)

lib/docs/main.js+13-3
......@@ -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 }