Search in sources :

Example 1 with AnnotationDescrBuilder

use of org.drools.drl.ast.dsl.AnnotationDescrBuilder in project drools by kiegroup.

the class DRL6Expressions method fullAnnotation.

// $ANTLR end "ternaryExpression"
// $ANTLR start "fullAnnotation"
// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:180:1: fullAnnotation[AnnotatedDescrBuilder inDescrBuilder] returns [AnnotationDescr result] : AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] ;
public final AnnotationDescr fullAnnotation(AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
    AnnotationDescr result = null;
    Token name = null;
    Token x = null;
    String n = "";
    AnnotationDescrBuilder annoBuilder = null;
    try {
        // src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:3: ( AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] )
        // src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:5: AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder]
        {
            match(input, AT, FOLLOW_AT_in_fullAnnotation894);
            if (state.failed)
                return result;
            name = (Token) match(input, ID, FOLLOW_ID_in_fullAnnotation898);
            if (state.failed)
                return result;
            if (state.backtracking == 0) {
                n = (name != null ? name.getText() : null);
            }
            // src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:36: ( DOT x= ID )*
            loop18: while (true) {
                int alt18 = 2;
                int LA18_0 = input.LA(1);
                if ((LA18_0 == DOT)) {
                    alt18 = 1;
                }
                switch(alt18) {
                    case 1:
                        // src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:38: DOT x= ID
                        {
                            match(input, DOT, FOLLOW_DOT_in_fullAnnotation904);
                            if (state.failed)
                                return result;
                            x = (Token) match(input, ID, FOLLOW_ID_in_fullAnnotation908);
                            if (state.failed)
                                return result;
                            if (state.backtracking == 0) {
                                n += "." + (x != null ? x.getText() : null);
                            }
                        }
                        break;
                    default:
                        break loop18;
                }
            }
            if (state.backtracking == 0) {
                if (buildDescr) {
                    if (inDescrBuilder == null) {
                        result = new AnnotationDescr(n);
                    } else {
                        annoBuilder = inDescrBuilder instanceof AnnotationDescrBuilder ? ((AnnotationDescrBuilder) inDescrBuilder).newAnnotation(n) : inDescrBuilder.newAnnotation(n);
                        result = (AnnotationDescr) annoBuilder.getDescr();
                    }
                }
            }
            pushFollow(FOLLOW_annotationArgs_in_fullAnnotation929);
            annotationArgs(result, annoBuilder);
            state._fsp--;
            if (state.failed)
                return result;
        }
    } catch (RecognitionException re) {
        throw re;
    } finally {
    // do for sure before leaving
    }
    return result;
}
Also used : AnnotationDescrBuilder(org.drools.drl.ast.dsl.AnnotationDescrBuilder) AnnotationDescr(org.drools.drl.ast.descr.AnnotationDescr)

Aggregations

AnnotationDescr (org.drools.drl.ast.descr.AnnotationDescr)1 AnnotationDescrBuilder (org.drools.drl.ast.dsl.AnnotationDescrBuilder)1