private void parseExpression()

in src/java/org/jetbrains/plugins/clojure/parser/ClojureParser.java [55:90]


  private void parseExpression(PsiBuilder builder) {
    IElementType token = builder.getTokenType();
    if (LEFT_PAREN == token) {
      parseList(builder);
    } else if (LEFT_SQUARE == token) {
      parseVector(builder);
    } else if (LEFT_CURLY == token) {
      parseMap(builder);
    } else if (QUOTE == token) {
      parseQuotedForm(builder);
    } else if (BACKQUOTE == token) {
      parseBackQuote(builder);
    } else if (ParserUtils.lookAhead(builder, SHARP, LEFT_CURLY)) {
      parseSet(builder);
    } else if (SHARP == token) {
      parseSharp(builder);
    } else if (UP == token) {
      parseUp(builder);
    } else if (SHARPUP == token) {
      parseMetadata(builder);
    } else if (TILDA == token) {
      parseTilda(builder);
    } else if (AT == token) {
      parseAt(builder);
    } else if (TILDAAT == token) {
      parseTildaAt(builder);
    } else if (symS.contains(token)) {
      parseSymbol(builder);
    } else if (COLON_SYMBOL == token) {
      parseKeyword(builder);
    } else if (LITERALS.contains(token)) {
      parseLiteral(builder);
    } else {
      syntaxError(builder, ClojureBundle.message("expected.left.paren.symbol.or.literal"));
    }
  }