pub fn parsePrefixExpr(p: *Parser) Error!bool p: *ParserMaxDepth1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191 pub fn parsePrefixExpr(p: *Parser) Error!bool {
const def_index = @backingInt(Def.defPrefixExpr);
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 (blk_1: {
var i_1: usize = 0;
while (try p.parsePrefixOp()) {
if (i_1 > max_depth) return error.MaxDepth;
i_1 += 1;
}
break :blk_1 true;
} and blk_1: {
const pos_1 = p.i;
const match_1 = try p.parsePrefixOp();
p.i = pos_1;
break :blk_1 !match_1;
} and try p.parsePrimaryExpr()) break :blk_0 true;
p.i = pos_0;
break :blk_0 false;
};
}