static boolean ternary_tail_pin(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "ternary_tail_pin")) return false;
    if (!nextTokenIsFast(b, T_Q)) return false;
    boolean r, p;
    Marker m = enter_section_(b, l, _NONE_);
    r = consumeTokenFast(b, T_Q);
    r = r && mb_nl(b, l + 1);
    r = r && ternary_tail_pin_2(b, l + 1);
    p = r; // pin = 3
    r = r && report_error_(b, expression(b, l + 1, -1));
    r = p && report_error_(b, mb_nl(b, l + 1)) && r;
    r = p && report_error_(b, consumeToken(b, T_COLON)) && r;
    r = p && report_error_(b, mb_nl(b, l + 1)) && r;
    r = p && expression(b, l + 1, 0) && r;
    exit_section_(b, l, m, r, p, null);
    return r || p;
  }
static boolean ternary_tail_pin(PsiBuilder b, int l)