in drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL5Expressions.java [715:894]
public final void typeMatch() throws RecognitionException {
try {
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:5: ( ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) | ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) )
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==ID) ) {
int LA11_1 = input.LA(2);
if ( (((((helper.validateIdentifierKey(DroolsSoftKeywords.SHORT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.LONG)))||((helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN)))||((helper.validateIdentifierKey(DroolsSoftKeywords.BYTE)))||((helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE)))||((helper.validateIdentifierKey(DroolsSoftKeywords.INT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.CHAR))))&&synpred1_DRL5Expressions())) ) {
alt11=1;
}
else if ( (true) ) {
alt11=2;
}
}
else {
if (state.backtracking>0) {state.failed=true; return;}
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:8: ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
{
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:27: ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:29: primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
{
pushFollow(FOLLOW_primitiveType_in_typeMatch555);
primitiveType();
state._fsp--;
if (state.failed) return;
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:43: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==LEFT_SQUARE) && (synpred2_DRL5Expressions())) {
alt6=1;
}
switch (alt6) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:138:44: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
{
match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_typeMatch565); if (state.failed) return;
match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_typeMatch567); if (state.failed) return;
}
break;
default :
break loop6;
}
}
}
}
break;
case 2 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
{
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:9: ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
{
match(input,ID,FOLLOW_ID_in_typeMatch581); if (state.failed) return;
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:12: ( ( typeArguments )=> typeArguments )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==LESS) ) {
int LA7_1 = input.LA(2);
if ( (LA7_1==ID) && (synpred3_DRL5Expressions())) {
alt7=1;
}
else if ( (LA7_1==QUESTION) && (synpred3_DRL5Expressions())) {
alt7=1;
}
}
switch (alt7) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:13: ( typeArguments )=> typeArguments
{
pushFollow(FOLLOW_typeArguments_in_typeMatch588);
typeArguments();
state._fsp--;
if (state.failed) return;
}
break;
}
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:46: ( DOT ID ( ( typeArguments )=> typeArguments )? )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==DOT) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:47: DOT ID ( ( typeArguments )=> typeArguments )?
{
match(input,DOT,FOLLOW_DOT_in_typeMatch593); if (state.failed) return;
match(input,ID,FOLLOW_ID_in_typeMatch595); if (state.failed) return;
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:54: ( ( typeArguments )=> typeArguments )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==LESS) ) {
int LA8_1 = input.LA(2);
if ( (LA8_1==ID) && (synpred4_DRL5Expressions())) {
alt8=1;
}
else if ( (LA8_1==QUESTION) && (synpred4_DRL5Expressions())) {
alt8=1;
}
}
switch (alt8) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:55: ( typeArguments )=> typeArguments
{
pushFollow(FOLLOW_typeArguments_in_typeMatch602);
typeArguments();
state._fsp--;
if (state.failed) return;
}
break;
}
}
break;
default :
break loop9;
}
}
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:91: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
loop10:
while (true) {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==LEFT_SQUARE) && (synpred5_DRL5Expressions())) {
alt10=1;
}
switch (alt10) {
case 1 :
// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:139:92: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
{
match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_typeMatch617); if (state.failed) return;
match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_typeMatch619); if (state.failed) return;
}
break;
default :
break loop10;
}
}
}
}
break;
}
}
catch (RecognitionException re) {
throw re;
}
finally {
// do for sure before leaving
}
}