protected void generic_parameter_declaration(
GenericParameterDeclarationCollection c
)
{
IToken id = null;
GenericParameterDeclaration gpd = null;
try { // for error handling
id = LT(1);
match(ID);
if (0==inputState.guessing)
{
gpd = new GenericParameterDeclaration(ToLexicalInfo(id));
gpd.Name = id.getText();
c.Add(gpd);
}
{
if ((LA(1)==LPAREN) && (tokenSet_57_.member(LA(2))))
{
match(LPAREN);
generic_parameter_constraints(gpd);
match(RPAREN);
}
else if ((LA(1)==LPAREN||LA(1)==RBRACK||LA(1)==COMMA) && (tokenSet_58_.member(LA(2)))) {
}
else
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "generic_parameter_declaration");
recover(ex,tokenSet_59_);
}
else
{
throw ex;
}
}
}