pub fn parseSingleAssignExpr(p: *Parser) Error!bool p: *ParserMaxDepth936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959 pub fn parseSingleAssignExpr(p: *Parser) Error!bool {
const def_index = @backingInt(Def.defSingleAssignExpr);
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.parseExpr() and blk_2: {
const pos_2 = p.i;
if (try p.parseAssignOp() and try p.parseExpr()) break :blk_2 true;
p.i = pos_2;
if (blk_3: {
const pos_3 = p.i;
const match_3 = try p.parseAssignOp();
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;
};
}