}
//funcdef: 'def' NAME parameters ['->' test] ':' suite
final public void funcdef() throws ParseException {
/*@bgen(jjtree) funcdef */
SimpleNode jjtn000 = builder.openNode(JJTFUNCDEF);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtreeOpenNodeScope(jjtn000);
try {
jj_consume_token(DEF);
this.markLastAsSuiteStart();
Name();
parameters();
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case MINUS_GREATER:
grammarActions.addSpecialToken("->", STRATEGY_BEFORE_NEXT);
jj_consume_token(MINUS_GREATER);
SimpleNode jjtn001 = builder.openNode(JJTFUNCDEF_RETURN_ANNOTTATION);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtreeOpenNodeScope(jjtn001);
try {
test();