org.exist.xquery.parser.XQueryAST tmp266_AST = null; tmp266_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp266_AST);
org.exist.xquery.parser.XQueryAST tmp265_AST = null; tmp265_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp265_AST);
	public final void attributeTest() throws RecognitionException, TokenStreamException {				returnAST = null;		ASTPair currentAST = new ASTPair();		org.exist.xquery.parser.XQueryAST attributeTest_AST = null;				match(LITERAL_attribute);		match(LPAREN);		{		switch ( LA(1)) {		case NCNAME:		case LITERAL_xquery:		case LITERAL_version:		case LITERAL_module:		case LITERAL_namespace:		case LITERAL_import:		case LITERAL_declare:		case LITERAL_default:		case LITERAL_xmlspace:		case LITERAL_ordering:		case LITERAL_construction:		case 64:		case LITERAL_option:		case LITERAL_function:		case LITERAL_variable:		case LITERAL_encoding:		case LITERAL_collation:		case LITERAL_element:		case LITERAL_preserve:		case LITERAL_strip:		case LITERAL_ordered:		case LITERAL_unordered:		case LITERAL_external:		case LITERAL_at:		case LITERAL_as:		case LITERAL_empty:		case STAR:		case LITERAL_item:		case LITERAL_for:		case LITERAL_let:		case LITERAL_some:		case LITERAL_every:		case LITERAL_if:		case LITERAL_update:		case LITERAL_replace:		case LITERAL_value:		case LITERAL_insert:		case LITERAL_delete:		case LITERAL_rename:		case LITERAL_with:		case LITERAL_into:		case LITERAL_preceding:		case LITERAL_following:		case LITERAL_return:		case LITERAL_order:		case LITERAL_by:		case LITERAL_typeswitch:		case LITERAL_case:		case LITERAL_then:		case LITERAL_else:		case LITERAL_or:		case LITERAL_and:		case LITERAL_instance:		case LITERAL_of:		case LITERAL_cast:		case LITERAL_is:		case LITERAL_isnot:		case LITERAL_to:		case LITERAL_div:		case LITERAL_mod:		case LITERAL_union:		case LITERAL_intersect:		case LITERAL_except:		case LITERAL_text:		case LITERAL_node:		case LITERAL_attribute:		case LITERAL_comment:		case 154:		case LITERAL_document:		case LITERAL_child:		case LITERAL_self:		case LITERAL_descendant:		case 166:		case 167:		case LITERAL_parent:		case LITERAL_ancestor:		case 170:		case 171:		case LITERAL_collection:		case LITERAL_validate:		{			attributeNameOrWildcard();			astFactory.addASTChild(currentAST, returnAST);			{			switch ( LA(1)) {			case COMMA:			{				match(COMMA);				typeName();				astFactory.addASTChild(currentAST, returnAST);				{				switch ( LA(1)) {				case QUESTION:				{					org.exist.xquery.parser.XQueryAST tmp266_AST = null;					tmp266_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.addASTChild(currentAST, tmp266_AST);					match(QUESTION);					break;				}				case RPAREN:				{					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				break;			}			case RPAREN:			{				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			break;		}		case RPAREN:		{			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		}		match(RPAREN);		if ( inputState.guessing==0 ) {			attributeTest_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;			attributeTest_AST= (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(ATTRIBUTE_TEST,"attribute()")).add(attributeTest_AST));			currentAST.root = attributeTest_AST;			currentAST.child = attributeTest_AST!=null &&attributeTest_AST.getFirstChild()!=null ?				attributeTest_AST.getFirstChild() : attributeTest_AST;			currentAST.advanceChildToEnd();		}		attributeTest_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;		returnAST = attributeTest_AST;	}