public final void selector()

in drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Expressions.java [5851:6034]


	public final void selector() throws RecognitionException {
		Token DOT20=null;
		Token DOT21=null;
		Token DOT22=null;
		Token ID23=null;
		Token NULL_SAFE_DOT24=null;
		Token ID25=null;
		Token LEFT_SQUARE26=null;
		Token RIGHT_SQUARE27=null;

		try {
			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:730:5: ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )
			int alt92=5;
			int LA92_0 = input.LA(1);
			if ( (LA92_0==DOT) ) {
				int LA92_1 = input.LA(2);
				if ( (synpred41_DRL6Expressions()) ) {
					alt92=1;
				}
				else if ( (synpred42_DRL6Expressions()) ) {
					alt92=2;
				}
				else if ( (synpred43_DRL6Expressions()) ) {
					alt92=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 92, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA92_0==NULL_SAFE_DOT) && (synpred45_DRL6Expressions())) {
				alt92=4;
			}
			else if ( (LA92_0==LEFT_SQUARE) && (synpred47_DRL6Expressions())) {
				alt92=5;
			}

			switch (alt92) {
				case 1 :
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:730:9: ( DOT super_key )=> DOT super_key superSuffix
					{
					DOT20=(Token)match(input,DOT,FOLLOW_DOT_in_selector4256); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(DOT20, DroolsEditorType.SYMBOL); }
					pushFollow(FOLLOW_super_key_in_selector4260);
					super_key();
					state._fsp--;
					if (state.failed) return;
					pushFollow(FOLLOW_superSuffix_in_selector4262);
					superSuffix();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:731:9: ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator
					{
					DOT21=(Token)match(input,DOT,FOLLOW_DOT_in_selector4278); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(DOT21, DroolsEditorType.SYMBOL); }
					pushFollow(FOLLOW_new_key_in_selector4282);
					new_key();
					state._fsp--;
					if (state.failed) return;
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:731:84: ( nonWildcardTypeArguments )?
					int alt89=2;
					int LA89_0 = input.LA(1);
					if ( (LA89_0==LESS) ) {
						alt89=1;
					}
					switch (alt89) {
						case 1 :
							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:731:85: nonWildcardTypeArguments
							{
							pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4285);
							nonWildcardTypeArguments();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}

					pushFollow(FOLLOW_innerCreator_in_selector4289);
					innerCreator();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:732:9: ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )?
					{
					DOT22=(Token)match(input,DOT,FOLLOW_DOT_in_selector4305); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(DOT22, DroolsEditorType.SYMBOL); }
					ID23=(Token)match(input,ID,FOLLOW_ID_in_selector4327); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(ID23, DroolsEditorType.IDENTIFIER); }
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:734:19: ( ( LEFT_PAREN )=> arguments )?
					int alt90=2;
					int LA90_0 = input.LA(1);
					if ( (LA90_0==LEFT_PAREN) ) {
						int LA90_1 = input.LA(2);
						if ( (synpred44_DRL6Expressions()) ) {
							alt90=1;
						}
					}
					switch (alt90) {
						case 1 :
							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:734:20: ( LEFT_PAREN )=> arguments
							{
							pushFollow(FOLLOW_arguments_in_selector4356);
							arguments();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}

					}
					break;
				case 4 :
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:735:9: ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )?
					{
					NULL_SAFE_DOT24=(Token)match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_selector4374); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(NULL_SAFE_DOT24, DroolsEditorType.SYMBOL); }
					ID25=(Token)match(input,ID,FOLLOW_ID_in_selector4396); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(ID25, DroolsEditorType.IDENTIFIER); }
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:737:19: ( ( LEFT_PAREN )=> arguments )?
					int alt91=2;
					int LA91_0 = input.LA(1);
					if ( (LA91_0==LEFT_PAREN) ) {
						int LA91_1 = input.LA(2);
						if ( (synpred46_DRL6Expressions()) ) {
							alt91=1;
						}
					}
					switch (alt91) {
						case 1 :
							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:737:20: ( LEFT_PAREN )=> arguments
							{
							pushFollow(FOLLOW_arguments_in_selector4425);
							arguments();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}

					}
					break;
				case 5 :
					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:739:9: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
					{
					LEFT_SQUARE26=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_selector4446); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(LEFT_SQUARE26, DroolsEditorType.SYMBOL); }
					pushFollow(FOLLOW_expression_in_selector4473);
					expression();
					state._fsp--;
					if (state.failed) return;
					RIGHT_SQUARE27=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_selector4498); if (state.failed) return;
					if ( state.backtracking==0 ) { helper.emit(RIGHT_SQUARE27, DroolsEditorType.SYMBOL); }
					}
					break;

			}
		}

		catch (RecognitionException re) {
		    throw re;
		}

		finally {
			// do for sure before leaving
		}
	}