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;
}
Aggregations