ufc.setArguments(arguments); unboundFunctionCalls.add(ufc); correspondingStaticContext.add(env);
ufc.setArguments(arguments); unboundFunctionReferences.add(ufc); correspondingStaticContext.add(env);
ufc.setArguments(arguments); unboundFunctionCalls.add(ufc); correspondingStaticContext.add(env);
ufc.setArguments(arguments); unboundFunctionReferences.add(ufc); correspondingStaticContext.add(env);
/** * Bind a function, given the URI and local parts of the function name, * and the list of expressions supplied as arguments. This method is called at compile * time. * * @param functionName The name of the function to be called * @param staticArgs The expressions supplied statically in the function call. The intention is * that the static type of the arguments (obtainable via getItemType() and getCardinality() may * be used as part of the binding algorithm. * @param env the static evaluation context * @param reasons If no matching function is found by the function library, it may add * a diagnostic explanation to this list explaining why none of the available * functions could be used. * @return An object representing the extension function to be called, if one is found; * null if no extension function was found matching the required name and arity. */ public Expression bind(SymbolicName.F functionName, Expression[] staticArgs, StaticContext env, List<String> reasons) { UserFunction fn = functions.get(functionName); if (fn == null) { return null; } UserFunctionCall fc = new UserFunctionCall(); fc.setFunctionName(functionName.getComponentName()); fc.setArguments(staticArgs); fc.setFunction(fn); fc.setStaticType(fn.getResultType()); return fc; }
/** * Copy an expression. This makes a deep copy. * * @param rebindings variable bindings that need to be changed * @return the copy of the original expression */ /*@NotNull*/ public Expression copy(RebindingMap rebindings) { if (function == null) { // not bound yet, we have no way to register the new copy with the XSLFunction throw new UnsupportedOperationException("UserFunctionCall.copy()"); } UserFunctionCall ufc = new UserFunctionCall(); ufc.setFunction(function); ufc.setStaticType(staticType); int numArgs = getArity(); Expression[] a2 = new Expression[numArgs]; for (int i = 0; i < numArgs; i++) { a2[i] = getArg(i).copy(rebindings); } ufc.setArguments(a2); ExpressionTool.copyLocationInfo(this, ufc); return ufc; }
/** * Bind a function, given the URI and local parts of the function name, * and the list of expressions supplied as arguments. This method is called at compile * time. * * @param functionName The name of the function to be called * @param staticArgs The expressions supplied statically in the function call. The intention is * that the static type of the arguments (obtainable via getItemType() and getCardinality() may * be used as part of the binding algorithm. * @param env the static evaluation context * @param reasons If no matching function is found by the function library, it may add * a diagnostic explanation to this list explaining why none of the available * functions could be used. * @return An object representing the extension function to be called, if one is found; * null if no extension function was found matching the required name and arity. */ public Expression bind(SymbolicName.F functionName, Expression[] staticArgs, StaticContext env, List<String> reasons) { UserFunction fn = functions.get(functionName); if (fn == null) { return null; } UserFunctionCall fc = new UserFunctionCall(); fc.setFunctionName(functionName.getComponentName()); fc.setArguments(staticArgs); fc.setFunction(fn); fc.setStaticType(fn.getResultType()); return fc; }
/** * Copy an expression. This makes a deep copy. * * @param rebindings variable bindings that need to be changed * @return the copy of the original expression */ /*@NotNull*/ public Expression copy(RebindingMap rebindings) { if (function == null) { // not bound yet, we have no way to register the new copy with the XSLFunction throw new UnsupportedOperationException("UserFunctionCall.copy()"); } UserFunctionCall ufc = new UserFunctionCall(); ufc.setFunction(function); ufc.setStaticType(staticType); int numArgs = getArity(); Expression[] a2 = new Expression[numArgs]; for (int i = 0; i < numArgs; i++) { a2[i] = getArg(i).copy(rebindings); } ufc.setArguments(a2); ExpressionTool.copyLocationInfo(this, ufc); return ufc; }
fn.registerReference(fc); fc.setFunctionName(functionName); fc.setArguments(staticArgs); fc.setConfirmed(true); return fc;
UserFunctionCall fc = new UserFunctionCall(); fc.setFunctionName(functionName); fc.setArguments(staticArgs); fc.setFunction(fn); fc.checkFunctionCall(fn, visitor);
UserFunctionCall fc = new UserFunctionCall(); fc.setFunctionName(functionName); fc.setArguments(staticArgs); fc.setFunction(fn); fc.checkFunctionCall(fn, visitor);
fn.registerReference(fc); fc.setFunctionName(functionName); fc.setArguments(staticArgs); fc.setConfirmed(true); return fc;
ufc.setArguments(arguments); ufc.setStaticType(fd.getResultType()); UserFunction fn = fd.getUserFunction();
ufc.setArguments(arguments); ufc.setStaticType(fd.getResultType()); UserFunction fn = fd.getUserFunction();
UserFunctionCall ufc = new UserFunctionCall(); ufc.setFunctionName(fd.getFunctionName()); ufc.setArguments(arguments); ufc.setStaticType(fd.getResultType()); UserFunction fn = fd.getUserFunction();
UserFunctionCall ufc = new UserFunctionCall(); ufc.setFunctionName(fd.getFunctionName()); ufc.setArguments(arguments); ufc.setStaticType(fd.getResultType()); UserFunction fn = fd.getUserFunction();
fc.setArguments(staticArgs); fc.setFunction(fn);
fc.setArguments(staticArgs); fc.setFunction(fn);