// $ANTLR start "annotation" // AnnotationParser.g:72:1: annotation : AT ann_class argument_list -> ^( ANNOTATION ann_class // argument_list ) ; public final AnnotationParser.annotation_return annotation() throws RecognitionException { AnnotationParser.annotation_return retval = new AnnotationParser.annotation_return(); retval.start = input.LT(1); AnnotationCommonTree root_0 = null; CommonToken AT1 = null; AnnotationParser.ann_class_return ann_class2 = null; AnnotationParser.argument_list_return argument_list3 = null; AnnotationCommonTree AT1_tree = null; RewriteRuleTokenStream stream_AT = new RewriteRuleTokenStream(adaptor, "token AT"); RewriteRuleSubtreeStream stream_argument_list = new RewriteRuleSubtreeStream(adaptor, "rule argument_list"); RewriteRuleSubtreeStream stream_ann_class = new RewriteRuleSubtreeStream(adaptor, "rule ann_class"); try { // AnnotationParser.g:73:3: ( AT ann_class argument_list -> ^( ANNOTATION ann_class // argument_list ) ) // AnnotationParser.g:73:5: AT ann_class argument_list { AT1 = (CommonToken) match(input, AT, FOLLOW_AT_in_annotation90); stream_AT.add(AT1); pushFollow(FOLLOW_ann_class_in_annotation92); ann_class2 = ann_class(); state._fsp--; stream_ann_class.add(ann_class2.getTree()); pushFollow(FOLLOW_argument_list_in_annotation94); argument_list3 = argument_list(); state._fsp--; stream_argument_list.add(argument_list3.getTree()); // AST REWRITE // elements: argument_list, ann_class // 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(); // 74:5: -> ^( ANNOTATION ann_class argument_list ) { // AnnotationParser.g:74:7: ^( ANNOTATION ann_class argument_list ) { AnnotationCommonTree root_1 = (AnnotationCommonTree) adaptor.nil(); root_1 = (AnnotationCommonTree) adaptor.becomeRoot( (AnnotationCommonTree) adaptor.create(ANNOTATION, "ANNOTATION"), root_1); adaptor.addChild(root_1, stream_ann_class.nextTree()); adaptor.addChild(root_1, stream_argument_list.nextTree()); adaptor.addChild(root_0, root_1); } } 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; }