private FunctionDefinition[] getFunctionDefinitions() { ArrayList<FunctionDefinition> functionDefinitions = new ArrayList<FunctionDefinition>(); Iterator<XQueryFunction> functions = queryModule.getLocalFunctionLibrary().getFunctionDefinitions(); while (functions.hasNext()) { XQueryFunction function = functions.next(); UserFunctionParameter[] params = function.getParameterDefinitions(); Variable[] args = new Variable[params.length]; for (int i = 0; i < params.length; i++) { QName argname = qnameFor (params[i].getVariableQName()); addNamespaceDeclaration(argname); args[i] = new Variable (argname, getTypeDescription(params[i].getRequiredType())); } QName fname = qnameFor(function.getFunctionName()); addNamespaceDeclaration(fname); SequenceType resultType = function.getResultType(); ItemType returnType = resultType.getPrimaryType(); QName returnTypeName = null; if (returnType instanceof NameTest) { returnTypeName = qnameForNameCode (((NameTest) returnType).getFingerprint()); } FunctionDefinition fdef = new FunctionDefinition(fname, valueTypeForItemType(resultType.getPrimaryType()), cardinalityOf(resultType), returnTypeName, args, exprFor (function.getBody())); functionDefinitions.add (fdef); } return functionDefinitions.toArray(new FunctionDefinition[0]); }
UserFunctionParameter[] params = func.getParameterDefinitions(); for (int i = 0; i < params.length; i++) { undeclareRangeVariable();
UserFunctionParameter[] params = getParameterDefinitions(); for (int i=0; i<params.length; i++) { params[i].setSlotNumber(i);
UserFunctionParameter[] params = func.getParameterDefinitions(); for (int i = 0; i < params.length; i++) { undeclareRangeVariable();
UserFunctionParameter[] params = getParameterDefinitions(); for (int i=0; i<params.length; i++) { params[i].setSlotNumber(i);
UserFunctionParameter[] params = func.getParameterDefinitions();
UserFunctionParameter[] params = func.getParameterDefinitions();
UserFunctionParameter[] params = getParameterDefinitions(); for (int i = 0; i < params.length; i++) { params[i].setSlotNumber(i);
UserFunctionParameter[] params = getParameterDefinitions(); for (int i = 0; i < params.length; i++) { params[i].setSlotNumber(i);