Commit c6ea551c7d

Loris Cro <kappaloris@gmail.com>
2023-01-05 15:42:05
autodoc: fix links to functions in generic types
1 parent 2d617c4
Changed files (1)
lib
docs
lib/docs/main.js
@@ -2741,9 +2741,19 @@ var zigAnalysis;
         if ("type" in rv.expr) {
           const t = getType(rv.expr.type);
           if (t.kind == typeKinds.Fn && t.generic_ret != null) {
-            const rgr = resolveValue({ expr: t.generic_ret });
-            if ("type" in rgr.expr) {
-              parentType = getType(rgr.expr.type);
+            let resolvedGenericRet = resolveValue({ expr: t.generic_ret });
+
+            if ("call" in resolvedGenericRet.expr) {
+              let call = zigAnalysis.calls[resolvedGenericRet.expr.call];
+              let resolvedFunc = resolveValue({ expr: call.func });
+              if (!("type" in resolvedFunc.expr)) return null;
+              let callee = getType(resolvedFunc.expr.type);
+              if (!callee.generic_ret) return null;
+              resolvedGenericRet = resolveValue({ expr: callee.generic_ret });
+            }
+            
+            if ("type" in resolvedGenericRet.expr) {
+              parentType = getType(resolvedGenericRet.expr.type);
             }
           }
         }