in drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL5Expressions.java [5351:5498]
public final void selector() throws RecognitionException {
Token DOT21=null;
Token DOT22=null;
Token DOT23=null;
Token ID24=null;
Token LEFT_SQUARE25=null;
Token RIGHT_SQUARE26=null;
try {
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:652:5: ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )
int alt83=4;
int LA83_0 = input.LA(1);
if ( (LA83_0==DOT) ) {
int LA83_1 = input.LA(2);
if ( (synpred36_DRL5Expressions()) ) {
alt83=1;
}
else if ( (synpred37_DRL5Expressions()) ) {
alt83=2;
}
else if ( (synpred38_DRL5Expressions()) ) {
alt83=3;
}
else {
if (state.backtracking>0) {state.failed=true; return;}
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 83, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA83_0==LEFT_SQUARE) && (synpred40_DRL5Expressions())) {
alt83=4;
}
switch (alt83) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:652:9: ( DOT super_key )=> DOT super_key superSuffix
{
DOT21=(Token)match(input,DOT,FOLLOW_DOT_in_selector3804); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(DOT21, DroolsEditorType.SYMBOL); }
pushFollow(FOLLOW_super_key_in_selector3808);
super_key();
state._fsp--;
if (state.failed) return;
pushFollow(FOLLOW_superSuffix_in_selector3810);
superSuffix();
state._fsp--;
if (state.failed) return;
}
break;
case 2 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:653:9: ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator
{
DOT22=(Token)match(input,DOT,FOLLOW_DOT_in_selector3826); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(DOT22, DroolsEditorType.SYMBOL); }
pushFollow(FOLLOW_new_key_in_selector3830);
new_key();
state._fsp--;
if (state.failed) return;
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:653:84: ( nonWildcardTypeArguments )?
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==LESS) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:653:85: nonWildcardTypeArguments
{
pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector3833);
nonWildcardTypeArguments();
state._fsp--;
if (state.failed) return;
}
break;
}
pushFollow(FOLLOW_innerCreator_in_selector3837);
innerCreator();
state._fsp--;
if (state.failed) return;
}
break;
case 3 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:654:9: ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )?
{
DOT23=(Token)match(input,DOT,FOLLOW_DOT_in_selector3853); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(DOT23, DroolsEditorType.SYMBOL); }
ID24=(Token)match(input,ID,FOLLOW_ID_in_selector3875); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(ID24, DroolsEditorType.IDENTIFIER); }
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:656:19: ( ( LEFT_PAREN )=> arguments )?
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==LEFT_PAREN) ) {
int LA82_1 = input.LA(2);
if ( (synpred39_DRL5Expressions()) ) {
alt82=1;
}
}
switch (alt82) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:656:20: ( LEFT_PAREN )=> arguments
{
pushFollow(FOLLOW_arguments_in_selector3904);
arguments();
state._fsp--;
if (state.failed) return;
}
break;
}
}
break;
case 4 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:658:9: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
{
LEFT_SQUARE25=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_selector3925); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(LEFT_SQUARE25, DroolsEditorType.SYMBOL); }
pushFollow(FOLLOW_expression_in_selector3952);
expression();
state._fsp--;
if (state.failed) return;
RIGHT_SQUARE26=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_selector3977); if (state.failed) return;
if ( state.backtracking==0 ) { helper.emit(RIGHT_SQUARE26, DroolsEditorType.SYMBOL); }
}
break;
}
}
catch (RecognitionException re) {
throw re;
}
finally {
// do for sure before leaving
}
}