| ... | ... | @@ -230,6 +230,7 @@ pub const Parser = struct { |
| 230 | 230 | Semicolon: &&ast.Node, |
| 231 | 231 | AddComments: AddCommentsCtx, |
| 232 | 232 | LookForSameLineComment: &&ast.Node, |
| 233 | LookForSameLineCommentDirect: &ast.Node, |
| 233 | 234 | |
| 234 | 235 | AsmOutputItems: &ArrayList(&ast.Node.AsmOutput), |
| 235 | 236 | AsmOutputReturnOrType: &ast.Node.AsmOutput, |
| ... | ... | @@ -532,7 +533,7 @@ pub const Parser = struct { |
| 532 | 533 | } |
| 533 | 534 | } |
| 534 | 535 | |
| 535 | | stack.append(State { |
| 536 | try stack.append(State { |
| 536 | 537 | .VarDecl = VarDeclCtx { |
| 537 | 538 | .comments = ctx.comments, |
| 538 | 539 | .visib_token = ctx.visib_token, |
| ... | ... | @@ -542,7 +543,7 @@ pub const Parser = struct { |
| 542 | 543 | .mut_token = token, |
| 543 | 544 | .list = ctx.decls |
| 544 | 545 | } |
| 545 | | }) catch unreachable; |
| 546 | }); |
| 546 | 547 | continue; |
| 547 | 548 | }, |
| 548 | 549 | Token.Id.Keyword_fn, Token.Id.Keyword_nakedcc, |
| ... | ... | @@ -705,6 +706,7 @@ pub const Parser = struct { |
| 705 | 706 | continue; |
| 706 | 707 | }, |
| 707 | 708 | State.ContainerDecl => |container_decl| { |
| 709 | const comments = try self.eatComments(arena); |
| 708 | 710 | const token = self.getNextToken(); |
| 709 | 711 | switch (token.id) { |
| 710 | 712 | Token.Id.Identifier => { |
| ... | ... | @@ -713,7 +715,7 @@ pub const Parser = struct { |
| 713 | 715 | const node = try arena.construct(ast.Node.StructField { |
| 714 | 716 | .base = ast.Node { |
| 715 | 717 | .id = ast.Node.Id.StructField, |
| 716 | | .before_comments = null, |
| 718 | .before_comments = comments, |
| 717 | 719 | .same_line_comment = null, |
| 718 | 720 | }, |
| 719 | 721 | .visib_token = null, |
| ... | ... | @@ -765,7 +767,7 @@ pub const Parser = struct { |
| 765 | 767 | .TopLevelExternOrField = TopLevelExternOrFieldCtx { |
| 766 | 768 | .visib_token = token, |
| 767 | 769 | .container_decl = container_decl, |
| 768 | | .comments = null, |
| 770 | .comments = comments, |
| 769 | 771 | } |
| 770 | 772 | }); |
| 771 | 773 | continue; |
| ... | ... | @@ -778,7 +780,7 @@ pub const Parser = struct { |
| 778 | 780 | .visib_token = token, |
| 779 | 781 | .extern_export_inline_token = null, |
| 780 | 782 | .lib_name = null, |
| 781 | | .comments = null, |
| 783 | .comments = comments, |
| 782 | 784 | } |
| 783 | 785 | }); |
| 784 | 786 | continue; |
| ... | ... | @@ -793,7 +795,7 @@ pub const Parser = struct { |
| 793 | 795 | .visib_token = token, |
| 794 | 796 | .extern_export_inline_token = null, |
| 795 | 797 | .lib_name = null, |
| 796 | | .comments = null, |
| 798 | .comments = comments, |
| 797 | 799 | } |
| 798 | 800 | }); |
| 799 | 801 | continue; |
| ... | ... | @@ -811,7 +813,7 @@ pub const Parser = struct { |
| 811 | 813 | .visib_token = null, |
| 812 | 814 | .extern_export_inline_token = null, |
| 813 | 815 | .lib_name = null, |
| 814 | | .comments = null, |
| 816 | .comments = comments, |
| 815 | 817 | } |
| 816 | 818 | }); |
| 817 | 819 | continue; |
| ... | ... | @@ -842,7 +844,8 @@ pub const Parser = struct { |
| 842 | 844 | }); |
| 843 | 845 | try ctx.list.append(&var_decl.base); |
| 844 | 846 | |
| 845 | | stack.append(State { .VarDeclAlign = var_decl }) catch unreachable; |
| 847 | try stack.append(State { .LookForSameLineCommentDirect = &var_decl.base }); |
| 848 | try stack.append(State { .VarDeclAlign = var_decl }); |
| 846 | 849 | try stack.append(State { .TypeExprBegin = OptionalCtx { .RequiredNull = &var_decl.type_node} }); |
| 847 | 850 | try stack.append(State { .IfToken = Token.Id.Colon }); |
| 848 | 851 | try stack.append(State { |
| ... | ... | @@ -854,7 +857,7 @@ pub const Parser = struct { |
| 854 | 857 | continue; |
| 855 | 858 | }, |
| 856 | 859 | State.VarDeclAlign => |var_decl| { |
| 857 | | stack.append(State { .VarDeclEq = var_decl }) catch unreachable; |
| 860 | try stack.append(State { .VarDeclEq = var_decl }); |
| 858 | 861 | |
| 859 | 862 | const next_token = self.getNextToken(); |
| 860 | 863 | if (next_token.id == Token.Id.Keyword_align) { |
| ... | ... | @@ -1348,6 +1351,11 @@ pub const Parser = struct { |
| 1348 | 1351 | continue; |
| 1349 | 1352 | }, |
| 1350 | 1353 | |
| 1354 | State.LookForSameLineCommentDirect => |node| { |
| 1355 | try self.lookForSameLineComment(arena, node); |
| 1356 | continue; |
| 1357 | }, |
| 1358 | |
| 1351 | 1359 | |
| 1352 | 1360 | State.AsmOutputItems => |items| { |
| 1353 | 1361 | const lbracket = self.getNextToken(); |