in stack/core/src/main/java/org/apache/usergrid/mq/QueryFilterParser.java [774:900]
public final void select_expr() throws RecognitionException {
try {
// org/usergrid/persistence/query/QueryFilter.g:179:2: ( ( '*' | select_subject ( ',
// ' select_subject )* | '{' select_assign ( ',' select_assign )* '}' ) )
// org/usergrid/persistence/query/QueryFilter.g:179:4: ( '*' | select_subject ( ',
// ' select_subject )* | '{' select_assign ( ',' select_assign )* '}' )
{
// org/usergrid/persistence/query/QueryFilter.g:179:4: ( '*' | select_subject ( ',
// ' select_subject )* | '{' select_assign ( ',' select_assign )* '}' )
int alt8 = 3;
switch ( input.LA( 1 ) ) {
case 34: {
alt8 = 1;
}
break;
case ID: {
alt8 = 2;
}
break;
case 35: {
alt8 = 3;
}
break;
default:
NoViableAltException nvae = new NoViableAltException( "", 8, 0, input );
throw nvae;
}
switch ( alt8 ) {
case 1:
// org/usergrid/persistence/query/QueryFilter.g:179:5: '*'
{
match( input, 34, FOLLOW_34_in_select_expr925 );
}
break;
case 2:
// org/usergrid/persistence/query/QueryFilter.g:179:11: select_subject ( ',' select_subject )*
{
pushFollow( FOLLOW_select_subject_in_select_expr929 );
select_subject();
state._fsp--;
// org/usergrid/persistence/query/QueryFilter.g:179:26: ( ',' select_subject )*
loop6:
do {
int alt6 = 2;
int LA6_0 = input.LA( 1 );
if ( ( LA6_0 == 29 ) ) {
alt6 = 1;
}
switch ( alt6 ) {
case 1:
// org/usergrid/persistence/query/QueryFilter.g:179:27: ',' select_subject
{
match( input, 29, FOLLOW_29_in_select_expr932 );
pushFollow( FOLLOW_select_subject_in_select_expr934 );
select_subject();
state._fsp--;
}
break;
default:
break loop6;
}
}
while ( true );
}
break;
case 3:
// org/usergrid/persistence/query/QueryFilter.g:179:51: '{' select_assign ( ',
// ' select_assign )* '}'
{
match( input, 35, FOLLOW_35_in_select_expr941 );
pushFollow( FOLLOW_select_assign_in_select_expr943 );
select_assign();
state._fsp--;
// org/usergrid/persistence/query/QueryFilter.g:179:69: ( ',' select_assign )*
loop7:
do {
int alt7 = 2;
int LA7_0 = input.LA( 1 );
if ( ( LA7_0 == 29 ) ) {
alt7 = 1;
}
switch ( alt7 ) {
case 1:
// org/usergrid/persistence/query/QueryFilter.g:179:70: ',' select_assign
{
match( input, 29, FOLLOW_29_in_select_expr946 );
pushFollow( FOLLOW_select_assign_in_select_expr948 );
select_assign();
state._fsp--;
}
break;
default:
break loop7;
}
}
while ( true );
match( input, 36, FOLLOW_36_in_select_expr953 );
}
break;
}
}
}
catch ( RecognitionException re ) {
reportError( re );
recover( input, re );
}
finally {
}
return;
}