boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "parentheses_condition")) return false; if (!nextTokenIsSmart(b, LEFT_PAREN)) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_, null); r = consumeTokenSmart(b, LEFT_PAREN); p = r; r = p && condition(b, l, -1); r = p && report_error_(b, consumeToken(b, RIGHT_PAREN)) && r; exit_section_(b, l, m, PARENTHESES_CONDITION, r, p, null); return r || p; }