boolean (PsiBuilder b, int l, int g) { if (!recursion_guard_(b, l, "operation")) return false; addVariant(b, "<operation>"); boolean r, p; Marker m = enter_section_(b, l, _NONE_, "<operation>"); r = logical_bitwise_negation_operation(b, l + 1); if (!r) r = unary_operation(b, l + 1); if (!r) r = pre_operation(b, l + 1); if (!r) r = array_operation(b, l + 1); if (!r) r = literal_operation(b, l + 1); if (!r) r = parentheses_operation(b, l + 1); p = r; r = r && operation_0(b, l + 1, g); exit_section_(b, l, m, null, r, p, null); return r || p; }