ArrayList<FunctionLibFunctionArg> args = function.getArg();
String filename = Caster.toString(args.get(0).getDefaultValue());
Key name = KeyImpl.toKey(args.get(1).getDefaultValue());
boolean isWeb = Caster.toBooleanValue(args.get(2).getDefaultValue());
UDF udf = CFFunction.loadUDF(pc, filename, name, isWeb);
sct.set(KeyConstants._name,function.getName());
sct.set(ARGUMENT_TYPE,"fixed");
sct.set(KeyConstants._description,StringUtil.emptyIfNull(udf.getHint()));
sct.set(RETURN_TYPE,StringUtil.emptyIfNull(udf.getReturnTypeAsString()));
sct.set(KeyConstants._type,"cfml");
sct.set(SOURCE,udf.getPageSource().getDisplayPath());
sct.set(KeyConstants._status,"implemeted");
FunctionArgument[] fas = udf.getFunctionArguments();
Array _args=new ArrayImpl();
sct.set(KeyConstants._arguments,_args);
int min=0,max=0;
for(int i=0;i<fas.length;i++) {
FunctionArgument fa=fas[i];