| ... | ... | @@ -2741,9 +2741,19 @@ var zigAnalysis; |
| 2741 | 2741 | if ("type" in rv.expr) { |
| 2742 | 2742 | const t = getType(rv.expr.type); |
| 2743 | 2743 | 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); |
| 2747 | 2757 | } |
| 2748 | 2758 | } |
| 2749 | 2759 | } |