private void parseFunctionCall() throws TTXPathException {

        final String funcName = parseQName();

        consume(TokenType.OPEN_BR, true);

        int num = 0;
        if (!(mToken.getType() == TokenType.CLOSE_BR)) {

            do {

                parseExprSingle();
                num++;

            } while (is(TokenType.COMMA, true));
        }

        consume(TokenType.CLOSE_BR, true);
        mPipeBuilder.addFunction(getTransaction(), funcName, num);

    }
private void parseFunctionCall ( ) throws TTXPathException { final String funcName = parseQName ( ) ; consume ( TokenType . OPEN_BR , true ) ; int num = 0 ; if ( ! ( mToken . getType ( ) == TokenType . CLOSE_BR ) ) { do { parseExprSingle ( ) ; num ++ ; } while ( is ( TokenType . COMMA , true ) ) ; } consume ( TokenType . CLOSE_BR , true ) ; mPipeBuilder . addFunction ( getTransaction ( ) , funcName , num ) ; }
Parses the the rule FunctionCall according to the following production
rule:
<p>
[47] FunctionCall ::= < QName "(" > (ExprSingle ("," ExprSingle)*)? ")" .
</p>

@throws TTXPathException