@@ -1785,15 +1785,6 @@ fn resolveTypeOfNodeUncached(analyser: *Analyser, node_handle: NodeWithHandle) e
17851785
17861786 return try analyser .resolveOptionalUnwrap (base_type );
17871787 },
1788- .array_access = > {
1789- const lhs_node , const rhs_node = tree .nodeData (node ).node_and_node ;
1790-
1791- const lhs = try analyser .resolveTypeOfNodeInternal (.of (lhs_node , handle )) orelse return null ;
1792-
1793- const index = try analyser .resolveIntegerLiteral (u64 , .of (rhs_node , handle ));
1794-
1795- return try analyser .resolveBracketAccessType (lhs , .{ .single = index });
1796- },
17971788 .@"orelse" = > {
17981789 const lhs_node , const rhs_node = tree .nodeData (node ).node_and_node ;
17991790
@@ -2725,6 +2716,7 @@ fn resolveTypeOfNodeUncached(analyser: *Analyser, node_handle: NodeWithHandle) e
27252716 .slice ,
27262717 .slice_sentinel ,
27272718 .slice_open ,
2719+ .array_access ,
27282720 = > {
27292721 const binding = try analyser .resolveBindingOfNodeUncached (node_handle ) orelse return null ;
27302722 return binding .type ;
@@ -2818,6 +2810,19 @@ fn resolveBindingOfNodeUncached(analyser: *Analyser, node_handle: NodeWithHandle
28182810 };
28192811 },
28202812
2813+ .array_access = > {
2814+ const lhs_node , const rhs_node = tree .nodeData (node ).node_and_node ;
2815+
2816+ const lhs = try analyser .resolveBindingOfNodeInternal (.of (lhs_node , handle )) orelse return null ;
2817+
2818+ const index = try analyser .resolveIntegerLiteral (u64 , .of (rhs_node , handle ));
2819+
2820+ return .{
2821+ .type = try analyser .resolveBracketAccessTypeFromBinding (lhs , .{ .single = index }) orelse return null ,
2822+ .is_const = true ,
2823+ };
2824+ },
2825+
28212826 else = > return .{
28222827 .type = try analyser .resolveTypeOfNodeUncached (node_handle ) orelse return null ,
28232828 .is_const = false ,
0 commit comments