public final void Literal()

in netflix-sel/src/main/java/com/netflix/sel/ast/SelParser.java [1451:1525]


  public final void Literal() throws ParseException {
    /*@bgen(jjtree) Literal */
    ASTLiteral jjtn000 = new ASTLiteral(this, JJTLITERAL);
    boolean jjtc000 = true;
    jjtree.openNodeScope(jjtn000);
    jjtn000.jjtSetFirstToken(getToken(1));
    Token t;
    try {
      switch (jj_nt.kind) {
        case INTEGER_LITERAL:
          {
            t = jj_consume_token(INTEGER_LITERAL);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelLong.of(t.image.replace("L", "").replace("l", ""));
            break;
          }
        case FLOATING_POINT_LITERAL:
          {
            t = jj_consume_token(FLOATING_POINT_LITERAL);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelDouble.of(t.image);
            break;
          }
        case STRING_LITERAL:
          {
            t = jj_consume_token(STRING_LITERAL);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelString.of(SelTypeUtil.preprocess(t.image));
            break;
          }
        case TRUE:
          {
            jj_consume_token(TRUE);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelBoolean.of(true);
            break;
          }
        case FALSE:
          {
            jj_consume_token(FALSE);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelBoolean.of(false);
            break;
          }
        case NULL:
          {
            jj_consume_token(NULL);
            jjtree.closeNodeScope(jjtn000, true);
            jjtc000 = false;
            jjtn000.jjtSetLastToken(getToken(0));
            jjtn000.value = SelType.NULL;
            break;
          }
        default:
          jj_la1[29] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
      }
    } finally {
      if (jjtc000) {
        jjtree.closeNodeScope(jjtn000, true);
        jjtn000.jjtSetLastToken(getToken(0));
      }
    }
  }