| ... | ... | @@ -2638,6 +2638,7 @@ fn fnDecl( |
| 2638 | 2638 | astgen: *AstGen, |
| 2639 | 2639 | gz: *GenZir, |
| 2640 | 2640 | wip_decls: *WipDecls, |
| 2641 | decl_node: ast.Node.Index, |
| 2641 | 2642 | body_node: ast.Node.Index, |
| 2642 | 2643 | fn_proto: ast.full.FnProto, |
| 2643 | 2644 | ) InnerError!void { |
| ... | ... | @@ -2851,7 +2852,7 @@ fn fnDecl( |
| 2851 | 2852 | |
| 2852 | 2853 | try wip_decls.payload.ensureUnusedCapacity(gpa, 8); |
| 2853 | 2854 | { |
| 2854 | | const contents_hash = std.zig.hashSrc(tree.getNodeSource(fn_proto.ast.proto_node)); |
| 2855 | const contents_hash = std.zig.hashSrc(tree.getNodeSource(decl_node)); |
| 2855 | 2856 | const casted = @bitCast([4]u32, contents_hash); |
| 2856 | 2857 | wip_decls.payload.appendSliceAssumeCapacity(&casted); |
| 2857 | 2858 | } |
| ... | ... | @@ -3207,20 +3208,20 @@ fn structDeclInner( |
| 3207 | 3208 | switch (node_tags[fn_proto]) { |
| 3208 | 3209 | .fn_proto_simple => { |
| 3209 | 3210 | var params: [1]ast.Node.Index = undefined; |
| 3210 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3211 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3211 | 3212 | continue; |
| 3212 | 3213 | }, |
| 3213 | 3214 | .fn_proto_multi => { |
| 3214 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoMulti(fn_proto)); |
| 3215 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3215 | 3216 | continue; |
| 3216 | 3217 | }, |
| 3217 | 3218 | .fn_proto_one => { |
| 3218 | 3219 | var params: [1]ast.Node.Index = undefined; |
| 3219 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoOne(&params, fn_proto)); |
| 3220 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3220 | 3221 | continue; |
| 3221 | 3222 | }, |
| 3222 | 3223 | .fn_proto => { |
| 3223 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProto(fn_proto)); |
| 3224 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3224 | 3225 | continue; |
| 3225 | 3226 | }, |
| 3226 | 3227 | else => unreachable, |
| ... | ... | @@ -3228,20 +3229,20 @@ fn structDeclInner( |
| 3228 | 3229 | }, |
| 3229 | 3230 | .fn_proto_simple => { |
| 3230 | 3231 | var params: [1]ast.Node.Index = undefined; |
| 3231 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoSimple(&params, member_node)); |
| 3232 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3232 | 3233 | continue; |
| 3233 | 3234 | }, |
| 3234 | 3235 | .fn_proto_multi => { |
| 3235 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoMulti(member_node)); |
| 3236 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3236 | 3237 | continue; |
| 3237 | 3238 | }, |
| 3238 | 3239 | .fn_proto_one => { |
| 3239 | 3240 | var params: [1]ast.Node.Index = undefined; |
| 3240 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoOne(&params, member_node)); |
| 3241 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3241 | 3242 | continue; |
| 3242 | 3243 | }, |
| 3243 | 3244 | .fn_proto => { |
| 3244 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProto(member_node)); |
| 3245 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3245 | 3246 | continue; |
| 3246 | 3247 | }, |
| 3247 | 3248 | |
| ... | ... | @@ -3410,20 +3411,20 @@ fn unionDeclInner( |
| 3410 | 3411 | switch (node_tags[fn_proto]) { |
| 3411 | 3412 | .fn_proto_simple => { |
| 3412 | 3413 | var params: [1]ast.Node.Index = undefined; |
| 3413 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3414 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3414 | 3415 | continue; |
| 3415 | 3416 | }, |
| 3416 | 3417 | .fn_proto_multi => { |
| 3417 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoMulti(fn_proto)); |
| 3418 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3418 | 3419 | continue; |
| 3419 | 3420 | }, |
| 3420 | 3421 | .fn_proto_one => { |
| 3421 | 3422 | var params: [1]ast.Node.Index = undefined; |
| 3422 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoOne(&params, fn_proto)); |
| 3423 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3423 | 3424 | continue; |
| 3424 | 3425 | }, |
| 3425 | 3426 | .fn_proto => { |
| 3426 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProto(fn_proto)); |
| 3427 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3427 | 3428 | continue; |
| 3428 | 3429 | }, |
| 3429 | 3430 | else => unreachable, |
| ... | ... | @@ -3431,20 +3432,20 @@ fn unionDeclInner( |
| 3431 | 3432 | }, |
| 3432 | 3433 | .fn_proto_simple => { |
| 3433 | 3434 | var params: [1]ast.Node.Index = undefined; |
| 3434 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoSimple(&params, member_node)); |
| 3435 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3435 | 3436 | continue; |
| 3436 | 3437 | }, |
| 3437 | 3438 | .fn_proto_multi => { |
| 3438 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoMulti(member_node)); |
| 3439 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3439 | 3440 | continue; |
| 3440 | 3441 | }, |
| 3441 | 3442 | .fn_proto_one => { |
| 3442 | 3443 | var params: [1]ast.Node.Index = undefined; |
| 3443 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoOne(&params, member_node)); |
| 3444 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3444 | 3445 | continue; |
| 3445 | 3446 | }, |
| 3446 | 3447 | .fn_proto => { |
| 3447 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProto(member_node)); |
| 3448 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3448 | 3449 | continue; |
| 3449 | 3450 | }, |
| 3450 | 3451 | |
| ... | ... | @@ -3759,20 +3760,20 @@ fn containerDecl( |
| 3759 | 3760 | switch (node_tags[fn_proto]) { |
| 3760 | 3761 | .fn_proto_simple => { |
| 3761 | 3762 | var params: [1]ast.Node.Index = undefined; |
| 3762 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3763 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3763 | 3764 | continue; |
| 3764 | 3765 | }, |
| 3765 | 3766 | .fn_proto_multi => { |
| 3766 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoMulti(fn_proto)); |
| 3767 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3767 | 3768 | continue; |
| 3768 | 3769 | }, |
| 3769 | 3770 | .fn_proto_one => { |
| 3770 | 3771 | var params: [1]ast.Node.Index = undefined; |
| 3771 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoOne(&params, fn_proto)); |
| 3772 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3772 | 3773 | continue; |
| 3773 | 3774 | }, |
| 3774 | 3775 | .fn_proto => { |
| 3775 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProto(fn_proto)); |
| 3776 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3776 | 3777 | continue; |
| 3777 | 3778 | }, |
| 3778 | 3779 | else => unreachable, |
| ... | ... | @@ -3780,20 +3781,20 @@ fn containerDecl( |
| 3780 | 3781 | }, |
| 3781 | 3782 | .fn_proto_simple => { |
| 3782 | 3783 | var params: [1]ast.Node.Index = undefined; |
| 3783 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoSimple(&params, member_node)); |
| 3784 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3784 | 3785 | continue; |
| 3785 | 3786 | }, |
| 3786 | 3787 | .fn_proto_multi => { |
| 3787 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoMulti(member_node)); |
| 3788 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3788 | 3789 | continue; |
| 3789 | 3790 | }, |
| 3790 | 3791 | .fn_proto_one => { |
| 3791 | 3792 | var params: [1]ast.Node.Index = undefined; |
| 3792 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoOne(&params, member_node)); |
| 3793 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3793 | 3794 | continue; |
| 3794 | 3795 | }, |
| 3795 | 3796 | .fn_proto => { |
| 3796 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProto(member_node)); |
| 3797 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3797 | 3798 | continue; |
| 3798 | 3799 | }, |
| 3799 | 3800 | |
| ... | ... | @@ -3924,20 +3925,20 @@ fn containerDecl( |
| 3924 | 3925 | switch (node_tags[fn_proto]) { |
| 3925 | 3926 | .fn_proto_simple => { |
| 3926 | 3927 | var params: [1]ast.Node.Index = undefined; |
| 3927 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3928 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3928 | 3929 | continue; |
| 3929 | 3930 | }, |
| 3930 | 3931 | .fn_proto_multi => { |
| 3931 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoMulti(fn_proto)); |
| 3932 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3932 | 3933 | continue; |
| 3933 | 3934 | }, |
| 3934 | 3935 | .fn_proto_one => { |
| 3935 | 3936 | var params: [1]ast.Node.Index = undefined; |
| 3936 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProtoOne(&params, fn_proto)); |
| 3937 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3937 | 3938 | continue; |
| 3938 | 3939 | }, |
| 3939 | 3940 | .fn_proto => { |
| 3940 | | try astgen.fnDecl(gz, &wip_decls, body, tree.fnProto(fn_proto)); |
| 3941 | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3941 | 3942 | continue; |
| 3942 | 3943 | }, |
| 3943 | 3944 | else => unreachable, |
| ... | ... | @@ -3945,20 +3946,20 @@ fn containerDecl( |
| 3945 | 3946 | }, |
| 3946 | 3947 | .fn_proto_simple => { |
| 3947 | 3948 | var params: [1]ast.Node.Index = undefined; |
| 3948 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoSimple(&params, member_node)); |
| 3949 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3949 | 3950 | continue; |
| 3950 | 3951 | }, |
| 3951 | 3952 | .fn_proto_multi => { |
| 3952 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoMulti(member_node)); |
| 3953 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3953 | 3954 | continue; |
| 3954 | 3955 | }, |
| 3955 | 3956 | .fn_proto_one => { |
| 3956 | 3957 | var params: [1]ast.Node.Index = undefined; |
| 3957 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProtoOne(&params, member_node)); |
| 3958 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3958 | 3959 | continue; |
| 3959 | 3960 | }, |
| 3960 | 3961 | .fn_proto => { |
| 3961 | | try astgen.fnDecl(gz, &wip_decls, 0, tree.fnProto(member_node)); |
| 3962 | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3962 | 3963 | continue; |
| 3963 | 3964 | }, |
| 3964 | 3965 | |