| ... | ... | @@ -169,19 +169,7 @@ const Parser = struct { |
| 169 | 169 | pub fn parseContainerField(p: *Parser) bool { |
| 170 | 170 | return blk_0: { |
| 171 | 171 | const pos_0 = p.i; |
| 172 | | if ((p.parsedoc_comment() or true) and blk_2: { |
| 173 | | const pos_2 = p.i; |
| 174 | | if (p.parseKEYWORD_comptime()) break :blk_2 true; |
| 175 | | p.i = pos_2; |
| 176 | | if (blk_3: { |
| 177 | | const pos_3 = p.i; |
| 178 | | const match_3 = p.parseKEYWORD_comptime(); |
| 179 | | p.i = pos_3; |
| 180 | | break :blk_3 !match_3; |
| 181 | | }) break :blk_2 true; |
| 182 | | p.i = pos_2; |
| 183 | | break :blk_2 false; |
| 184 | | } and blk_1: { |
| 172 | if ((p.parsedoc_comment() or true) and (p.parseKEYWORD_comptime() or true) and blk_1: { |
| 185 | 173 | const pos_1 = p.i; |
| 186 | 174 | const match_1 = p.parseKEYWORD_fn(); |
| 187 | 175 | p.i = pos_1; |
| ... | ... | @@ -190,18 +178,6 @@ const Parser = struct { |
| 190 | 178 | const pos_3 = p.i; |
| 191 | 179 | if (p.parseIDENTIFIER() and p.parseCOLON()) break :blk_3 true; |
| 192 | 180 | p.i = pos_3; |
| 193 | | if (blk_4: { |
| 194 | | const pos_4 = p.i; |
| 195 | | const match_4 = blk_6: { |
| 196 | | const pos_6 = p.i; |
| 197 | | if (p.parseIDENTIFIER() and p.parseCOLON()) break :blk_6 true; |
| 198 | | p.i = pos_6; |
| 199 | | break :blk_6 false; |
| 200 | | }; |
| 201 | | p.i = pos_4; |
| 202 | | break :blk_4 !match_4; |
| 203 | | }) break :blk_3 true; |
| 204 | | p.i = pos_3; |
| 205 | 181 | break :blk_3 false; |
| 206 | 182 | } or true) and p.parseTypeExpr() and (p.parseByteAlign() or true) and (blk_3: { |
| 207 | 183 | const pos_3 = p.i; |
| ... | ... | @@ -222,19 +198,9 @@ const Parser = struct { |
| 222 | 198 | p.i = pos_0; |
| 223 | 199 | if (p.parseKEYWORD_errdefer() and p.parseBlockExprStatement()) break :blk_0 true; |
| 224 | 200 | p.i = pos_0; |
| 225 | | if (blk_1: { |
| 226 | | const pos_1 = p.i; |
| 227 | | const match_1 = p.parseExprStatement(); |
| 228 | | p.i = pos_1; |
| 229 | | break :blk_1 !match_1; |
| 230 | | } and (blk_3: { |
| 201 | if ((blk_3: { |
| 231 | 202 | const pos_3 = p.i; |
| 232 | | if (p.parseKEYWORD_comptime() and blk_4: { |
| 233 | | const pos_4 = p.i; |
| 234 | | const match_4 = p.parseBlockExpr(); |
| 235 | | p.i = pos_4; |
| 236 | | break :blk_4 !match_4; |
| 237 | | }) break :blk_3 true; |
| 203 | if (p.parseKEYWORD_comptime()) break :blk_3 true; |
| 238 | 204 | p.i = pos_3; |
| 239 | 205 | break :blk_3 false; |
| 240 | 206 | } or true) and p.parseVarAssignStatement()) break :blk_0 true; |
| ... | ... | @@ -249,19 +215,9 @@ const Parser = struct { |
| 249 | 215 | p.i = pos_0; |
| 250 | 216 | if (p.parseKEYWORD_suspend() and p.parseBlockExprStatement()) break :blk_0 true; |
| 251 | 217 | p.i = pos_0; |
| 252 | | if (blk_1: { |
| 253 | | const pos_1 = p.i; |
| 254 | | const match_1 = p.parseExprStatement(); |
| 255 | | p.i = pos_1; |
| 256 | | break :blk_1 !match_1; |
| 257 | | } and (blk_3: { |
| 218 | if ((blk_3: { |
| 258 | 219 | const pos_3 = p.i; |
| 259 | | if (p.parseKEYWORD_comptime() and blk_4: { |
| 260 | | const pos_4 = p.i; |
| 261 | | const match_4 = p.parseBlockExpr(); |
| 262 | | p.i = pos_4; |
| 263 | | break :blk_4 !match_4; |
| 264 | | }) break :blk_3 true; |
| 220 | if (p.parseKEYWORD_comptime()) break :blk_3 true; |
| 265 | 221 | p.i = pos_3; |
| 266 | 222 | break :blk_3 false; |
| 267 | 223 | } or true) and p.parseAssignExpr() and p.parseSEMICOLON()) break :blk_0 true; |
| ... | ... | @@ -293,12 +249,7 @@ const Parser = struct { |
| 293 | 249 | break :blk_3 false; |
| 294 | 250 | } or true)) break :blk_0 true; |
| 295 | 251 | p.i = pos_0; |
| 296 | | if (p.parseIfPrefix() and blk_1: { |
| 297 | | const pos_1 = p.i; |
| 298 | | const match_1 = p.parseBlockExpr(); |
| 299 | | p.i = pos_1; |
| 300 | | break :blk_1 !match_1; |
| 301 | | } and p.parseAssignExpr() and blk_2: { |
| 252 | if (p.parseIfPrefix() and p.parseAssignExpr() and blk_2: { |
| 302 | 253 | const pos_2 = p.i; |
| 303 | 254 | if (p.parseSEMICOLON()) break :blk_2 true; |
| 304 | 255 | p.i = pos_2; |
| ... | ... | @@ -359,12 +310,7 @@ const Parser = struct { |
| 359 | 310 | break :blk_2 false; |
| 360 | 311 | }) break :blk_0 true; |
| 361 | 312 | p.i = pos_0; |
| 362 | | if (p.parseForPrefix() and blk_1: { |
| 363 | | const pos_1 = p.i; |
| 364 | | const match_1 = p.parseBlockExpr(); |
| 365 | | p.i = pos_1; |
| 366 | | break :blk_1 !match_1; |
| 367 | | } and p.parseAssignExpr() and blk_2: { |
| 313 | if (p.parseForPrefix() and p.parseAssignExpr() and blk_2: { |
| 368 | 314 | const pos_2 = p.i; |
| 369 | 315 | if (p.parseSEMICOLON()) break :blk_2 true; |
| 370 | 316 | p.i = pos_2; |
| ... | ... | @@ -386,12 +332,7 @@ const Parser = struct { |
| 386 | 332 | break :blk_3 false; |
| 387 | 333 | } or true)) break :blk_0 true; |
| 388 | 334 | p.i = pos_0; |
| 389 | | if (p.parseWhilePrefix() and blk_1: { |
| 390 | | const pos_1 = p.i; |
| 391 | | const match_1 = p.parseBlockExpr(); |
| 392 | | p.i = pos_1; |
| 393 | | break :blk_1 !match_1; |
| 394 | | } and p.parseAssignExpr() and blk_2: { |
| 335 | if (p.parseWhilePrefix() and p.parseAssignExpr() and blk_2: { |
| 395 | 336 | const pos_2 = p.i; |
| 396 | 337 | if (p.parseSEMICOLON()) break :blk_2 true; |
| 397 | 338 | p.i = pos_2; |
| ... | ... | @@ -630,19 +571,7 @@ const Parser = struct { |
| 630 | 571 | p.i = pos_0; |
| 631 | 572 | if (p.parseIfExpr()) break :blk_0 true; |
| 632 | 573 | p.i = pos_0; |
| 633 | | if (p.parseKEYWORD_break() and blk_2: { |
| 634 | | const pos_2 = p.i; |
| 635 | | if (p.parseBreakLabel()) break :blk_2 true; |
| 636 | | p.i = pos_2; |
| 637 | | if (blk_3: { |
| 638 | | const pos_3 = p.i; |
| 639 | | const match_3 = p.parseBreakLabel(); |
| 640 | | p.i = pos_3; |
| 641 | | break :blk_3 !match_3; |
| 642 | | }) break :blk_2 true; |
| 643 | | p.i = pos_2; |
| 644 | | break :blk_2 false; |
| 645 | | } and blk_2: { |
| 574 | if (p.parseKEYWORD_break() and (p.parseBreakLabel() or true) and blk_2: { |
| 646 | 575 | const pos_2 = p.i; |
| 647 | 576 | if (p.parseExpr() and blk_3: { |
| 648 | 577 | const pos_3 = p.i; |
| ... | ... | @@ -675,19 +604,7 @@ const Parser = struct { |
| 675 | 604 | break :blk_1 !match_1; |
| 676 | 605 | }) break :blk_0 true; |
| 677 | 606 | p.i = pos_0; |
| 678 | | if (p.parseKEYWORD_continue() and blk_2: { |
| 679 | | const pos_2 = p.i; |
| 680 | | if (p.parseBreakLabel()) break :blk_2 true; |
| 681 | | p.i = pos_2; |
| 682 | | if (blk_3: { |
| 683 | | const pos_3 = p.i; |
| 684 | | const match_3 = p.parseBreakLabel(); |
| 685 | | p.i = pos_3; |
| 686 | | break :blk_3 !match_3; |
| 687 | | }) break :blk_2 true; |
| 688 | | p.i = pos_2; |
| 689 | | break :blk_2 false; |
| 690 | | } and blk_2: { |
| 607 | if (p.parseKEYWORD_continue() and (p.parseBreakLabel() or true) and blk_2: { |
| 691 | 608 | const pos_2 = p.i; |
| 692 | 609 | if (p.parseExpr() and blk_3: { |
| 693 | 610 | const pos_3 = p.i; |
| ... | ... | @@ -927,17 +844,7 @@ const Parser = struct { |
| 927 | 844 | p.i = pos_0; |
| 928 | 845 | if (p.parseLabeledTypeExpr()) break :blk_0 true; |
| 929 | 846 | p.i = pos_0; |
| 930 | | if (p.parseIDENTIFIER() and blk_1: { |
| 931 | | const pos_1 = p.i; |
| 932 | | const match_1 = blk_3: { |
| 933 | | const pos_3 = p.i; |
| 934 | | if (p.parseCOLON() and p.parseLabelableExpr()) break :blk_3 true; |
| 935 | | p.i = pos_3; |
| 936 | | break :blk_3 false; |
| 937 | | }; |
| 938 | | p.i = pos_1; |
| 939 | | break :blk_1 !match_1; |
| 940 | | }) break :blk_0 true; |
| 847 | if (p.parseIDENTIFIER()) break :blk_0 true; |
| 941 | 848 | p.i = pos_0; |
| 942 | 849 | if (p.parseIfTypeExpr()) break :blk_0 true; |
| 943 | 850 | p.i = pos_0; |
| ... | ... | @@ -1813,12 +1720,7 @@ const Parser = struct { |
| 1813 | 1720 | pub fn parseArrayTypeStart(p: *Parser) bool { |
| 1814 | 1721 | return blk_0: { |
| 1815 | 1722 | const pos_0 = p.i; |
| 1816 | | if (p.parseLBRACKET() and p.parseExpr() and blk_1: { |
| 1817 | | const pos_1 = p.i; |
| 1818 | | const match_1 = p.parseASTERISK(); |
| 1819 | | p.i = pos_1; |
| 1820 | | break :blk_1 !match_1; |
| 1821 | | } and (blk_3: { |
| 1723 | if (p.parseLBRACKET() and p.parseExpr() and (blk_3: { |
| 1822 | 1724 | const pos_3 = p.i; |
| 1823 | 1725 | if (p.parseCOLON() and p.parseExpr()) break :blk_3 true; |
| 1824 | 1726 | p.i = pos_3; |
| ... | ... | @@ -1866,12 +1768,7 @@ const Parser = struct { |
| 1866 | 1768 | break :blk_8 false; |
| 1867 | 1769 | } or true)) break :blk_5 true; |
| 1868 | 1770 | p.i = pos_5; |
| 1869 | | if (blk_6: { |
| 1870 | | const pos_6 = p.i; |
| 1871 | | const match_6 = p.parseKEYWORD_enum(); |
| 1872 | | p.i = pos_6; |
| 1873 | | break :blk_6 !match_6; |
| 1874 | | } and p.parseExpr()) break :blk_5 true; |
| 1771 | if (p.parseExpr()) break :blk_5 true; |
| 1875 | 1772 | p.i = pos_5; |
| 1876 | 1773 | break :blk_5 false; |
| 1877 | 1774 | } and p.parseRPAREN()) break :blk_3 true; |