// $ANTLR start "arguments" // AnnotationParser.g:97:1: arguments : argument ( COMMA arguments )? -> argument ( arguments )? ; public final AnnotationParser.arguments_return arguments() throws RecognitionException { AnnotationParser.arguments_return retval = new AnnotationParser.arguments_return(); retval.start = input.LT(1); AnnotationCommonTree root_0 = null; CommonToken COMMA11 = null; AnnotationParser.argument_return argument10 = null; AnnotationParser.arguments_return arguments12 = null; AnnotationCommonTree COMMA11_tree = null; RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA"); RewriteRuleSubtreeStream stream_argument = new RewriteRuleSubtreeStream(adaptor, "rule argument"); RewriteRuleSubtreeStream stream_arguments = new RewriteRuleSubtreeStream(adaptor, "rule arguments"); try { // AnnotationParser.g:98:3: ( argument ( COMMA arguments )? -> argument ( arguments )? ) // AnnotationParser.g:98:5: argument ( COMMA arguments )? { pushFollow(FOLLOW_argument_in_arguments230); argument10 = argument(); state._fsp--; stream_argument.add(argument10.getTree()); // AnnotationParser.g:98:15: ( COMMA arguments )? int alt4 = 2; int LA4_0 = input.LA(1); if ((LA4_0 == COMMA)) { alt4 = 1; } switch (alt4) { case 1: // AnnotationParser.g:98:16: COMMA arguments { COMMA11 = (CommonToken) match(input, COMMA, FOLLOW_COMMA_in_arguments234); stream_COMMA.add(COMMA11); pushFollow(FOLLOW_arguments_in_arguments236); arguments12 = arguments(); state._fsp--; stream_arguments.add(arguments12.getTree()); } break; } // AST REWRITE // elements: arguments, argument // token labels: // rule labels: retval // token list labels: // rule list labels: // wildcard labels: retval.tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream( adaptor, "rule retval", retval != null ? retval.tree : null); root_0 = (AnnotationCommonTree) adaptor.nil(); // 99:5: -> argument ( arguments )? { adaptor.addChild(root_0, stream_argument.nextTree()); // AnnotationParser.g:99:17: ( arguments )? if (stream_arguments.hasNext()) { adaptor.addChild(root_0, stream_arguments.nextTree()); } stream_arguments.reset(); } retval.tree = root_0; } retval.stop = input.LT(-1); retval.tree = (AnnotationCommonTree) adaptor.rulePostProcessing(root_0); adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } catch (RecognitionException re) { reportError(re); recover(input, re); retval.tree = (AnnotationCommonTree) adaptor.errorNode(input, retval.start, input.LT(-1), re); } finally { } return retval; }