示例#1
0
  /*
   * typeParameters
   *   : ("<" typeParameter{","} ">"
   *   ;
   */
  private boolean parseTypeParameterList(TokenSet recoverySet) {
    PsiBuilder.Marker list = mark();
    boolean result = false;
    if (at(LT)) {

      myBuilder.disableNewlines();
      advance(); // LT

      while (true) {
        if (at(COMMA)) errorAndAdvance("Expecting type parameter declaration");
        parseTypeParameter();

        if (!at(COMMA)) break;
        advance(); // COMMA
      }

      expect(GT, "Missing '>'", recoverySet);
      myBuilder.restoreNewlinesState();
      result = true;
    }
    list.done(TYPE_PARAMETER_LIST);
    return result;
  }