File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments