pub fn parseErrorUnionExpr(p: *Parser) Error!bool p: *ParserMaxDepth1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474 pub fn parseErrorUnionExpr(p: *Parser) Error!bool {
const def_index = @backingInt(Def.defErrorUnionExpr);
if (p.depths[def_index] > max_depth) return error.MaxDepth;
p.depths[def_index] += 1;
defer p.depths[def_index] -= 1;
return blk_0: {
const pos_0 = p.i;
if (try p.parseSuffixExpr() and blk_2: {
const pos_2 = p.i;
if (try p.parseEXCLAMATIONMARK() and try p.parseTypeExpr()) break :blk_2 true;
p.i = pos_2;
if (blk_3: {
const pos_3 = p.i;
const match_3 = try p.parseEXCLAMATIONMARK();
p.i = pos_3;
break :blk_3 !match_3;
}) break :blk_2 true;
p.i = pos_2;
break :blk_2 false;
}) break :blk_0 true;
p.i = pos_0;
break :blk_0 false;
};
}