pub fn parseCompareExpr(p: *Parser) Error!bool p: *ParserMaxDepth1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051 pub fn parseCompareExpr(p: *Parser) Error!bool {
const def_index = @backingInt(Def.defCompareExpr);
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.parseBitwiseExpr() and (blk_3: {
const pos_3 = p.i;
if (try p.parseCompareOp() and try p.parseBitwiseExpr()) break :blk_3 true;
p.i = pos_3;
break :blk_3 false;
} or true) and blk_1: {
const pos_1 = p.i;
const match_1 = try p.parseCompareOp();
p.i = pos_1;
break :blk_1 !match_1;
}) break :blk_0 true;
p.i = pos_0;
break :blk_0 false;
};
}