) throws RecognitionException, PermissionDeniedException,EXistException {
) throws RecognitionException, PermissionDeniedException,EXistException,XPathException {
	public final Expression  functionCall(AST _t,		PathExpr path	) throws RecognitionException, PermissionDeniedException,EXistException {		Expression step;				AST functionCall_AST_in = (AST)_t;		AST fn = null;					PathExpr pathExpr;			step = null;						AST __t134 = _t;		fn = _t==ASTNULL ? null :(AST)_t;		match(_t,FUNCTION);		_t = _t.getFirstChild();								Vector params = new Vector();							{		_loop136:		do {			if (_t==null) _t=ASTNULL;			if ((_tokenSet_0.member(_t.getType()))) {												pathExpr = new PathExpr(); 											expr(_t,pathExpr);				_t = _retTree;												params.addElement(pathExpr);										}			else {				break _loop136;			}					} while (true);		}		_t = __t134;		_t = _t.getNextSibling();							step = Util.createFunction(context, path, fn.getText(), params);						_retTree = _t;		return step;	}