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;...@@ -2741,9 +2741,19 @@ var zigAnalysis;
2741 if ("type" in rv.expr) {2741 if ("type" in rv.expr) {
2742 const t = getType(rv.expr.type);2742 const t = getType(rv.expr.type);
2743 if (t.kind == typeKinds.Fn && t.generic_ret != null) {2743 if (t.kind == typeKinds.Fn && t.generic_ret != null) {
2744 const rgr = resolveValue({ expr: t.generic_ret });2744 let resolvedGenericRet = resolveValue({ expr: t.generic_ret });
2745 if ("type" in rgr.expr) {2745
2746 parentType = getType(rgr.expr.type);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);
2747 }2757 }
2748 }2758 }
2749 }2759 }