getParser().reportError(ERROR, e.getErrorMsg());
ErrorMsg errorMsg = e.getErrorMsg(); if (errorMsg == null) { final String name = _fname.getLocalPart(); errorMsg = new ErrorMsg(ErrorMsg.METHOD_NOT_FOUND_ERR, name); } getParser().reportError(ERROR, errorMsg);
    public Type typeCheck(SymbolTable stable) 	throws TypeCheckError     {	if (_type != null) return _type;	final String namespace = _fname.getNamespace();	final String local = _fname.getLocalPart();	if (isExtension()) {	    _fname = new QName(null, null, local);	    return typeCheckStandard(stable);	}	else if (isStandard()) {	    return typeCheckStandard(stable);	}	// Handle extension functions (they all have a namespace)	else {	    try {		_className = getClassNameFromUri(namespace);		final int pos = local.lastIndexOf('.');		if (pos > 0) {		    _className = _className + local.substring(0, pos);		    _fname = new QName(namespace, null, local.substring(pos + 1));		}		else {		    _fname = new QName(namespace, null, local);		}		if (_className.length() > 0) {		    return typeCheckExternal(stable);		}	    } 	    catch (TypeCheckError e) {		getParser().reportError(ERROR, e.getErrorMsg());		return _type = Type.Void;	    }	    /*	     * Warn user if external function could not be resolved.	     * Warning will _NOT_ be issued is the call is properly	     * wrapped in an <xsl:if> or <xsl:when> element. For details	     * see If.parserContents() and When.parserContents()	     */	    final Parser parser = getParser();	    if (parser != null) {		reportWarning(this, parser, ErrorMsg.FUNCTION_RESOLVE_ERR,			      _fname.toString());	    }	    unresolvedExternal = true;	    return _type = Type.Int;	// use "Int" as "unknown"	}    }