| ... | ... | @@ -3317,20 +3317,32 @@ fn structDeclInner( |
| 3317 | 3317 | switch (node_tags[fn_proto]) { |
| 3318 | 3318 | .fn_proto_simple => { |
| 3319 | 3319 | var params: [1]ast.Node.Index = undefined; |
| 3320 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3320 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)) catch |err| switch (err) { |
| 3321 | error.OutOfMemory => return error.OutOfMemory, |
| 3322 | error.AnalysisFail => {}, |
| 3323 | }; |
| 3321 | 3324 | continue; |
| 3322 | 3325 | }, |
| 3323 | 3326 | .fn_proto_multi => { |
| 3324 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3327 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)) catch |err| switch (err) { |
| 3328 | error.OutOfMemory => return error.OutOfMemory, |
| 3329 | error.AnalysisFail => {}, |
| 3330 | }; |
| 3325 | 3331 | continue; |
| 3326 | 3332 | }, |
| 3327 | 3333 | .fn_proto_one => { |
| 3328 | 3334 | var params: [1]ast.Node.Index = undefined; |
| 3329 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3335 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)) catch |err| switch (err) { |
| 3336 | error.OutOfMemory => return error.OutOfMemory, |
| 3337 | error.AnalysisFail => {}, |
| 3338 | }; |
| 3330 | 3339 | continue; |
| 3331 | 3340 | }, |
| 3332 | 3341 | .fn_proto => { |
| 3333 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3342 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)) catch |err| switch (err) { |
| 3343 | error.OutOfMemory => return error.OutOfMemory, |
| 3344 | error.AnalysisFail => {}, |
| 3345 | }; |
| 3334 | 3346 | continue; |
| 3335 | 3347 | }, |
| 3336 | 3348 | else => unreachable, |
| ... | ... | @@ -3338,50 +3350,83 @@ fn structDeclInner( |
| 3338 | 3350 | }, |
| 3339 | 3351 | .fn_proto_simple => { |
| 3340 | 3352 | var params: [1]ast.Node.Index = undefined; |
| 3341 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3353 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)) catch |err| switch (err) { |
| 3354 | error.OutOfMemory => return error.OutOfMemory, |
| 3355 | error.AnalysisFail => {}, |
| 3356 | }; |
| 3342 | 3357 | continue; |
| 3343 | 3358 | }, |
| 3344 | 3359 | .fn_proto_multi => { |
| 3345 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3360 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)) catch |err| switch (err) { |
| 3361 | error.OutOfMemory => return error.OutOfMemory, |
| 3362 | error.AnalysisFail => {}, |
| 3363 | }; |
| 3346 | 3364 | continue; |
| 3347 | 3365 | }, |
| 3348 | 3366 | .fn_proto_one => { |
| 3349 | 3367 | var params: [1]ast.Node.Index = undefined; |
| 3350 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3368 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)) catch |err| switch (err) { |
| 3369 | error.OutOfMemory => return error.OutOfMemory, |
| 3370 | error.AnalysisFail => {}, |
| 3371 | }; |
| 3351 | 3372 | continue; |
| 3352 | 3373 | }, |
| 3353 | 3374 | .fn_proto => { |
| 3354 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3375 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)) catch |err| switch (err) { |
| 3376 | error.OutOfMemory => return error.OutOfMemory, |
| 3377 | error.AnalysisFail => {}, |
| 3378 | }; |
| 3355 | 3379 | continue; |
| 3356 | 3380 | }, |
| 3357 | 3381 | |
| 3358 | 3382 | .global_var_decl => { |
| 3359 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)); |
| 3383 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)) catch |err| switch (err) { |
| 3384 | error.OutOfMemory => return error.OutOfMemory, |
| 3385 | error.AnalysisFail => {}, |
| 3386 | }; |
| 3360 | 3387 | continue; |
| 3361 | 3388 | }, |
| 3362 | 3389 | .local_var_decl => { |
| 3363 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)); |
| 3390 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)) catch |err| switch (err) { |
| 3391 | error.OutOfMemory => return error.OutOfMemory, |
| 3392 | error.AnalysisFail => {}, |
| 3393 | }; |
| 3364 | 3394 | continue; |
| 3365 | 3395 | }, |
| 3366 | 3396 | .simple_var_decl => { |
| 3367 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)); |
| 3397 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)) catch |err| switch (err) { |
| 3398 | error.OutOfMemory => return error.OutOfMemory, |
| 3399 | error.AnalysisFail => {}, |
| 3400 | }; |
| 3368 | 3401 | continue; |
| 3369 | 3402 | }, |
| 3370 | 3403 | .aligned_var_decl => { |
| 3371 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)); |
| 3404 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)) catch |err| switch (err) { |
| 3405 | error.OutOfMemory => return error.OutOfMemory, |
| 3406 | error.AnalysisFail => {}, |
| 3407 | }; |
| 3372 | 3408 | continue; |
| 3373 | 3409 | }, |
| 3374 | 3410 | |
| 3375 | 3411 | .@"comptime" => { |
| 3376 | | try astgen.comptimeDecl(gz, scope, &wip_decls, member_node); |
| 3412 | astgen.comptimeDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3413 | error.OutOfMemory => return error.OutOfMemory, |
| 3414 | error.AnalysisFail => {}, |
| 3415 | }; |
| 3377 | 3416 | continue; |
| 3378 | 3417 | }, |
| 3379 | 3418 | .@"usingnamespace" => { |
| 3380 | | try astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node); |
| 3419 | astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3420 | error.OutOfMemory => return error.OutOfMemory, |
| 3421 | error.AnalysisFail => {}, |
| 3422 | }; |
| 3381 | 3423 | continue; |
| 3382 | 3424 | }, |
| 3383 | 3425 | .test_decl => { |
| 3384 | | try astgen.testDecl(gz, scope, &wip_decls, member_node); |
| 3426 | astgen.testDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3427 | error.OutOfMemory => return error.OutOfMemory, |
| 3428 | error.AnalysisFail => {}, |
| 3429 | }; |
| 3385 | 3430 | continue; |
| 3386 | 3431 | }, |
| 3387 | 3432 | else => unreachable, |
| ... | ... | @@ -3530,20 +3575,32 @@ fn unionDeclInner( |
| 3530 | 3575 | switch (node_tags[fn_proto]) { |
| 3531 | 3576 | .fn_proto_simple => { |
| 3532 | 3577 | var params: [1]ast.Node.Index = undefined; |
| 3533 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3578 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)) catch |err| switch (err) { |
| 3579 | error.OutOfMemory => return error.OutOfMemory, |
| 3580 | error.AnalysisFail => {}, |
| 3581 | }; |
| 3534 | 3582 | continue; |
| 3535 | 3583 | }, |
| 3536 | 3584 | .fn_proto_multi => { |
| 3537 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3585 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)) catch |err| switch (err) { |
| 3586 | error.OutOfMemory => return error.OutOfMemory, |
| 3587 | error.AnalysisFail => {}, |
| 3588 | }; |
| 3538 | 3589 | continue; |
| 3539 | 3590 | }, |
| 3540 | 3591 | .fn_proto_one => { |
| 3541 | 3592 | var params: [1]ast.Node.Index = undefined; |
| 3542 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3593 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)) catch |err| switch (err) { |
| 3594 | error.OutOfMemory => return error.OutOfMemory, |
| 3595 | error.AnalysisFail => {}, |
| 3596 | }; |
| 3543 | 3597 | continue; |
| 3544 | 3598 | }, |
| 3545 | 3599 | .fn_proto => { |
| 3546 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3600 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)) catch |err| switch (err) { |
| 3601 | error.OutOfMemory => return error.OutOfMemory, |
| 3602 | error.AnalysisFail => {}, |
| 3603 | }; |
| 3547 | 3604 | continue; |
| 3548 | 3605 | }, |
| 3549 | 3606 | else => unreachable, |
| ... | ... | @@ -3551,50 +3608,83 @@ fn unionDeclInner( |
| 3551 | 3608 | }, |
| 3552 | 3609 | .fn_proto_simple => { |
| 3553 | 3610 | var params: [1]ast.Node.Index = undefined; |
| 3554 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 3611 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)) catch |err| switch (err) { |
| 3612 | error.OutOfMemory => return error.OutOfMemory, |
| 3613 | error.AnalysisFail => {}, |
| 3614 | }; |
| 3555 | 3615 | continue; |
| 3556 | 3616 | }, |
| 3557 | 3617 | .fn_proto_multi => { |
| 3558 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 3618 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)) catch |err| switch (err) { |
| 3619 | error.OutOfMemory => return error.OutOfMemory, |
| 3620 | error.AnalysisFail => {}, |
| 3621 | }; |
| 3559 | 3622 | continue; |
| 3560 | 3623 | }, |
| 3561 | 3624 | .fn_proto_one => { |
| 3562 | 3625 | var params: [1]ast.Node.Index = undefined; |
| 3563 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 3626 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)) catch |err| switch (err) { |
| 3627 | error.OutOfMemory => return error.OutOfMemory, |
| 3628 | error.AnalysisFail => {}, |
| 3629 | }; |
| 3564 | 3630 | continue; |
| 3565 | 3631 | }, |
| 3566 | 3632 | .fn_proto => { |
| 3567 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 3633 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)) catch |err| switch (err) { |
| 3634 | error.OutOfMemory => return error.OutOfMemory, |
| 3635 | error.AnalysisFail => {}, |
| 3636 | }; |
| 3568 | 3637 | continue; |
| 3569 | 3638 | }, |
| 3570 | 3639 | |
| 3571 | 3640 | .global_var_decl => { |
| 3572 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)); |
| 3641 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)) catch |err| switch (err) { |
| 3642 | error.OutOfMemory => return error.OutOfMemory, |
| 3643 | error.AnalysisFail => {}, |
| 3644 | }; |
| 3573 | 3645 | continue; |
| 3574 | 3646 | }, |
| 3575 | 3647 | .local_var_decl => { |
| 3576 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)); |
| 3648 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)) catch |err| switch (err) { |
| 3649 | error.OutOfMemory => return error.OutOfMemory, |
| 3650 | error.AnalysisFail => {}, |
| 3651 | }; |
| 3577 | 3652 | continue; |
| 3578 | 3653 | }, |
| 3579 | 3654 | .simple_var_decl => { |
| 3580 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)); |
| 3655 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)) catch |err| switch (err) { |
| 3656 | error.OutOfMemory => return error.OutOfMemory, |
| 3657 | error.AnalysisFail => {}, |
| 3658 | }; |
| 3581 | 3659 | continue; |
| 3582 | 3660 | }, |
| 3583 | 3661 | .aligned_var_decl => { |
| 3584 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)); |
| 3662 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)) catch |err| switch (err) { |
| 3663 | error.OutOfMemory => return error.OutOfMemory, |
| 3664 | error.AnalysisFail => {}, |
| 3665 | }; |
| 3585 | 3666 | continue; |
| 3586 | 3667 | }, |
| 3587 | 3668 | |
| 3588 | 3669 | .@"comptime" => { |
| 3589 | | try astgen.comptimeDecl(gz, scope, &wip_decls, member_node); |
| 3670 | astgen.comptimeDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3671 | error.OutOfMemory => return error.OutOfMemory, |
| 3672 | error.AnalysisFail => {}, |
| 3673 | }; |
| 3590 | 3674 | continue; |
| 3591 | 3675 | }, |
| 3592 | 3676 | .@"usingnamespace" => { |
| 3593 | | try astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node); |
| 3677 | astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3678 | error.OutOfMemory => return error.OutOfMemory, |
| 3679 | error.AnalysisFail => {}, |
| 3680 | }; |
| 3594 | 3681 | continue; |
| 3595 | 3682 | }, |
| 3596 | 3683 | .test_decl => { |
| 3597 | | try astgen.testDecl(gz, scope, &wip_decls, member_node); |
| 3684 | astgen.testDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 3685 | error.OutOfMemory => return error.OutOfMemory, |
| 3686 | error.AnalysisFail => {}, |
| 3687 | }; |
| 3598 | 3688 | continue; |
| 3599 | 3689 | }, |
| 3600 | 3690 | else => unreachable, |
| ... | ... | @@ -3878,20 +3968,32 @@ fn containerDecl( |
| 3878 | 3968 | switch (node_tags[fn_proto]) { |
| 3879 | 3969 | .fn_proto_simple => { |
| 3880 | 3970 | var params: [1]ast.Node.Index = undefined; |
| 3881 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 3971 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)) catch |err| switch (err) { |
| 3972 | error.OutOfMemory => return error.OutOfMemory, |
| 3973 | error.AnalysisFail => {}, |
| 3974 | }; |
| 3882 | 3975 | continue; |
| 3883 | 3976 | }, |
| 3884 | 3977 | .fn_proto_multi => { |
| 3885 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 3978 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)) catch |err| switch (err) { |
| 3979 | error.OutOfMemory => return error.OutOfMemory, |
| 3980 | error.AnalysisFail => {}, |
| 3981 | }; |
| 3886 | 3982 | continue; |
| 3887 | 3983 | }, |
| 3888 | 3984 | .fn_proto_one => { |
| 3889 | 3985 | var params: [1]ast.Node.Index = undefined; |
| 3890 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 3986 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)) catch |err| switch (err) { |
| 3987 | error.OutOfMemory => return error.OutOfMemory, |
| 3988 | error.AnalysisFail => {}, |
| 3989 | }; |
| 3891 | 3990 | continue; |
| 3892 | 3991 | }, |
| 3893 | 3992 | .fn_proto => { |
| 3894 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 3993 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)) catch |err| switch (err) { |
| 3994 | error.OutOfMemory => return error.OutOfMemory, |
| 3995 | error.AnalysisFail => {}, |
| 3996 | }; |
| 3895 | 3997 | continue; |
| 3896 | 3998 | }, |
| 3897 | 3999 | else => unreachable, |
| ... | ... | @@ -3899,50 +4001,83 @@ fn containerDecl( |
| 3899 | 4001 | }, |
| 3900 | 4002 | .fn_proto_simple => { |
| 3901 | 4003 | var params: [1]ast.Node.Index = undefined; |
| 3902 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 4004 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)) catch |err| switch (err) { |
| 4005 | error.OutOfMemory => return error.OutOfMemory, |
| 4006 | error.AnalysisFail => {}, |
| 4007 | }; |
| 3903 | 4008 | continue; |
| 3904 | 4009 | }, |
| 3905 | 4010 | .fn_proto_multi => { |
| 3906 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 4011 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)) catch |err| switch (err) { |
| 4012 | error.OutOfMemory => return error.OutOfMemory, |
| 4013 | error.AnalysisFail => {}, |
| 4014 | }; |
| 3907 | 4015 | continue; |
| 3908 | 4016 | }, |
| 3909 | 4017 | .fn_proto_one => { |
| 3910 | 4018 | var params: [1]ast.Node.Index = undefined; |
| 3911 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 4019 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)) catch |err| switch (err) { |
| 4020 | error.OutOfMemory => return error.OutOfMemory, |
| 4021 | error.AnalysisFail => {}, |
| 4022 | }; |
| 3912 | 4023 | continue; |
| 3913 | 4024 | }, |
| 3914 | 4025 | .fn_proto => { |
| 3915 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 4026 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)) catch |err| switch (err) { |
| 4027 | error.OutOfMemory => return error.OutOfMemory, |
| 4028 | error.AnalysisFail => {}, |
| 4029 | }; |
| 3916 | 4030 | continue; |
| 3917 | 4031 | }, |
| 3918 | 4032 | |
| 3919 | 4033 | .global_var_decl => { |
| 3920 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)); |
| 4034 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)) catch |err| switch (err) { |
| 4035 | error.OutOfMemory => return error.OutOfMemory, |
| 4036 | error.AnalysisFail => {}, |
| 4037 | }; |
| 3921 | 4038 | continue; |
| 3922 | 4039 | }, |
| 3923 | 4040 | .local_var_decl => { |
| 3924 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)); |
| 4041 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)) catch |err| switch (err) { |
| 4042 | error.OutOfMemory => return error.OutOfMemory, |
| 4043 | error.AnalysisFail => {}, |
| 4044 | }; |
| 3925 | 4045 | continue; |
| 3926 | 4046 | }, |
| 3927 | 4047 | .simple_var_decl => { |
| 3928 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)); |
| 4048 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)) catch |err| switch (err) { |
| 4049 | error.OutOfMemory => return error.OutOfMemory, |
| 4050 | error.AnalysisFail => {}, |
| 4051 | }; |
| 3929 | 4052 | continue; |
| 3930 | 4053 | }, |
| 3931 | 4054 | .aligned_var_decl => { |
| 3932 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)); |
| 4055 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)) catch |err| switch (err) { |
| 4056 | error.OutOfMemory => return error.OutOfMemory, |
| 4057 | error.AnalysisFail => {}, |
| 4058 | }; |
| 3933 | 4059 | continue; |
| 3934 | 4060 | }, |
| 3935 | 4061 | |
| 3936 | 4062 | .@"comptime" => { |
| 3937 | | try astgen.comptimeDecl(gz, scope, &wip_decls, member_node); |
| 4063 | astgen.comptimeDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4064 | error.OutOfMemory => return error.OutOfMemory, |
| 4065 | error.AnalysisFail => {}, |
| 4066 | }; |
| 3938 | 4067 | continue; |
| 3939 | 4068 | }, |
| 3940 | 4069 | .@"usingnamespace" => { |
| 3941 | | try astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node); |
| 4070 | astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4071 | error.OutOfMemory => return error.OutOfMemory, |
| 4072 | error.AnalysisFail => {}, |
| 4073 | }; |
| 3942 | 4074 | continue; |
| 3943 | 4075 | }, |
| 3944 | 4076 | .test_decl => { |
| 3945 | | try astgen.testDecl(gz, scope, &wip_decls, member_node); |
| 4077 | astgen.testDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4078 | error.OutOfMemory => return error.OutOfMemory, |
| 4079 | error.AnalysisFail => {}, |
| 4080 | }; |
| 3946 | 4081 | continue; |
| 3947 | 4082 | }, |
| 3948 | 4083 | else => unreachable, |
| ... | ... | @@ -4044,20 +4179,32 @@ fn containerDecl( |
| 4044 | 4179 | switch (node_tags[fn_proto]) { |
| 4045 | 4180 | .fn_proto_simple => { |
| 4046 | 4181 | var params: [1]ast.Node.Index = undefined; |
| 4047 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)); |
| 4182 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoSimple(&params, fn_proto)) catch |err| switch (err) { |
| 4183 | error.OutOfMemory => return error.OutOfMemory, |
| 4184 | error.AnalysisFail => {}, |
| 4185 | }; |
| 4048 | 4186 | continue; |
| 4049 | 4187 | }, |
| 4050 | 4188 | .fn_proto_multi => { |
| 4051 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)); |
| 4189 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoMulti(fn_proto)) catch |err| switch (err) { |
| 4190 | error.OutOfMemory => return error.OutOfMemory, |
| 4191 | error.AnalysisFail => {}, |
| 4192 | }; |
| 4052 | 4193 | continue; |
| 4053 | 4194 | }, |
| 4054 | 4195 | .fn_proto_one => { |
| 4055 | 4196 | var params: [1]ast.Node.Index = undefined; |
| 4056 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)); |
| 4197 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProtoOne(&params, fn_proto)) catch |err| switch (err) { |
| 4198 | error.OutOfMemory => return error.OutOfMemory, |
| 4199 | error.AnalysisFail => {}, |
| 4200 | }; |
| 4057 | 4201 | continue; |
| 4058 | 4202 | }, |
| 4059 | 4203 | .fn_proto => { |
| 4060 | | try astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)); |
| 4204 | astgen.fnDecl(gz, &wip_decls, member_node, body, tree.fnProto(fn_proto)) catch |err| switch (err) { |
| 4205 | error.OutOfMemory => return error.OutOfMemory, |
| 4206 | error.AnalysisFail => {}, |
| 4207 | }; |
| 4061 | 4208 | continue; |
| 4062 | 4209 | }, |
| 4063 | 4210 | else => unreachable, |
| ... | ... | @@ -4065,50 +4212,83 @@ fn containerDecl( |
| 4065 | 4212 | }, |
| 4066 | 4213 | .fn_proto_simple => { |
| 4067 | 4214 | var params: [1]ast.Node.Index = undefined; |
| 4068 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)); |
| 4215 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoSimple(&params, member_node)) catch |err| switch (err) { |
| 4216 | error.OutOfMemory => return error.OutOfMemory, |
| 4217 | error.AnalysisFail => {}, |
| 4218 | }; |
| 4069 | 4219 | continue; |
| 4070 | 4220 | }, |
| 4071 | 4221 | .fn_proto_multi => { |
| 4072 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)); |
| 4222 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoMulti(member_node)) catch |err| switch (err) { |
| 4223 | error.OutOfMemory => return error.OutOfMemory, |
| 4224 | error.AnalysisFail => {}, |
| 4225 | }; |
| 4073 | 4226 | continue; |
| 4074 | 4227 | }, |
| 4075 | 4228 | .fn_proto_one => { |
| 4076 | 4229 | var params: [1]ast.Node.Index = undefined; |
| 4077 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)); |
| 4230 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProtoOne(&params, member_node)) catch |err| switch (err) { |
| 4231 | error.OutOfMemory => return error.OutOfMemory, |
| 4232 | error.AnalysisFail => {}, |
| 4233 | }; |
| 4078 | 4234 | continue; |
| 4079 | 4235 | }, |
| 4080 | 4236 | .fn_proto => { |
| 4081 | | try astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)); |
| 4237 | astgen.fnDecl(gz, &wip_decls, member_node, 0, tree.fnProto(member_node)) catch |err| switch (err) { |
| 4238 | error.OutOfMemory => return error.OutOfMemory, |
| 4239 | error.AnalysisFail => {}, |
| 4240 | }; |
| 4082 | 4241 | continue; |
| 4083 | 4242 | }, |
| 4084 | 4243 | |
| 4085 | 4244 | .global_var_decl => { |
| 4086 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)); |
| 4245 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.globalVarDecl(member_node)) catch |err| switch (err) { |
| 4246 | error.OutOfMemory => return error.OutOfMemory, |
| 4247 | error.AnalysisFail => {}, |
| 4248 | }; |
| 4087 | 4249 | continue; |
| 4088 | 4250 | }, |
| 4089 | 4251 | .local_var_decl => { |
| 4090 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)); |
| 4252 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.localVarDecl(member_node)) catch |err| switch (err) { |
| 4253 | error.OutOfMemory => return error.OutOfMemory, |
| 4254 | error.AnalysisFail => {}, |
| 4255 | }; |
| 4091 | 4256 | continue; |
| 4092 | 4257 | }, |
| 4093 | 4258 | .simple_var_decl => { |
| 4094 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)); |
| 4259 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.simpleVarDecl(member_node)) catch |err| switch (err) { |
| 4260 | error.OutOfMemory => return error.OutOfMemory, |
| 4261 | error.AnalysisFail => {}, |
| 4262 | }; |
| 4095 | 4263 | continue; |
| 4096 | 4264 | }, |
| 4097 | 4265 | .aligned_var_decl => { |
| 4098 | | try astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)); |
| 4266 | astgen.globalVarDecl(gz, scope, &wip_decls, member_node, tree.alignedVarDecl(member_node)) catch |err| switch (err) { |
| 4267 | error.OutOfMemory => return error.OutOfMemory, |
| 4268 | error.AnalysisFail => {}, |
| 4269 | }; |
| 4099 | 4270 | continue; |
| 4100 | 4271 | }, |
| 4101 | 4272 | |
| 4102 | 4273 | .@"comptime" => { |
| 4103 | | try astgen.comptimeDecl(gz, scope, &wip_decls, member_node); |
| 4274 | astgen.comptimeDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4275 | error.OutOfMemory => return error.OutOfMemory, |
| 4276 | error.AnalysisFail => {}, |
| 4277 | }; |
| 4104 | 4278 | continue; |
| 4105 | 4279 | }, |
| 4106 | 4280 | .@"usingnamespace" => { |
| 4107 | | try astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node); |
| 4281 | astgen.usingnamespaceDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4282 | error.OutOfMemory => return error.OutOfMemory, |
| 4283 | error.AnalysisFail => {}, |
| 4284 | }; |
| 4108 | 4285 | continue; |
| 4109 | 4286 | }, |
| 4110 | 4287 | .test_decl => { |
| 4111 | | try astgen.testDecl(gz, scope, &wip_decls, member_node); |
| 4288 | astgen.testDecl(gz, scope, &wip_decls, member_node) catch |err| switch (err) { |
| 4289 | error.OutOfMemory => return error.OutOfMemory, |
| 4290 | error.AnalysisFail => {}, |
| 4291 | }; |
| 4112 | 4292 | continue; |
| 4113 | 4293 | }, |
| 4114 | 4294 | else => unreachable, |