// $ANTLR start "ann_class" // AnnotationParser.g:83:1: ann_class : ( namespace )* classname ; public final AnnotationParser.ann_class_return ann_class() throws RecognitionException { AnnotationParser.ann_class_return retval = new AnnotationParser.ann_class_return(); retval.start = input.LT(1); AnnotationCommonTree root_0 = null; AnnotationParser.namespace_return namespace7 = null; AnnotationParser.classname_return classname8 = null; try { // AnnotationParser.g:84:3: ( ( namespace )* classname ) // AnnotationParser.g:84:5: ( namespace )* classname { root_0 = (AnnotationCommonTree) adaptor.nil(); // AnnotationParser.g:84:5: ( namespace )* loop3: do { int alt3 = 2; int LA3_0 = input.LA(1); if ((LA3_0 == STRING)) { int LA3_1 = input.LA(2); if ((LA3_1 == BSLASH)) { alt3 = 1; } } switch (alt3) { case 1: // AnnotationParser.g:84:5: namespace { pushFollow(FOLLOW_namespace_in_ann_class155); namespace7 = namespace(); state._fsp--; adaptor.addChild(root_0, namespace7.getTree()); } break; default: break loop3; } } while (true); pushFollow(FOLLOW_classname_in_ann_class158); classname8 = classname(); state._fsp--; adaptor.addChild(root_0, classname8.getTree()); } 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; }
// $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; }