public static boolean lookAhead()

in src/java/org/jetbrains/plugins/clojure/parser/util/ParserUtils.java [109:131]


  public static boolean lookAhead(PsiBuilder builder, boolean dropMarker, IElementType... elems) {

    if (elems.length == 0) {
      return false;
    }

    if (elems.length == 1) {
      return elems[0].equals(builder.getTokenType());
    }

    PsiBuilder.Marker rb = builder.mark();
    int i = 0;
    while (!builder.eof() && i < elems.length && elems[i].equals(builder.getTokenType())) {
      builder.advanceLexer();
      i++;
    }
    if (dropMarker && i == elems.length) {
      rb.drop();
    } else {
      rb.rollbackTo();
    }
    return i == elems.length;
  }