public FunctionDescriptor[] getConverts(FunctionMethod method, Class<?>[] types) { final List<FunctionParameter> methodTypes = method.getInputParameters(); FunctionDescriptor[] result = new FunctionDescriptor[types.length]; for(int i = 0; i < types.length; i++) { //treat all varags as the same type final String tmpTypeName = methodTypes.get(Math.min(i, methodTypes.size() - 1)).getRuntimeType(); Class<?> targetType = DataTypeManager.getDataTypeClass(tmpTypeName); Class<?> sourceType = types[i]; if (sourceType == null) { result[i] = findTypedConversionFunction(DataTypeManager.DefaultDataClasses.NULL, targetType); } else if (sourceType != targetType){ if (isVarArgArrayParam(method, types, i, targetType)) { //vararg array parameter continue; } result[i] = findTypedConversionFunction(sourceType, targetType); } } return result; }
public FunctionDescriptor[] getConverts(FunctionMethod method, Class<?>[] types) { final List<FunctionParameter> methodTypes = method.getInputParameters(); FunctionDescriptor[] result = new FunctionDescriptor[types.length]; for(int i = 0; i < types.length; i++) { //treat all varags as the same type final String tmpTypeName = methodTypes.get(Math.min(i, methodTypes.size() - 1)).getRuntimeType(); Class<?> targetType = DataTypeManager.getDataTypeClass(tmpTypeName); Class<?> sourceType = types[i]; if (sourceType == null) { result[i] = findTypedConversionFunction(DataTypeManager.DefaultDataClasses.NULL, targetType); } else if (sourceType != targetType){ if (isVarArgArrayParam(method, types, i, targetType)) { //vararg array parameter continue; } result[i] = findTypedConversionFunction(sourceType, targetType); } } return result; }
public FunctionDescriptor[] getConverts(FunctionMethod method, Class<?>[] types) { final List<FunctionParameter> methodTypes = method.getInputParameters(); FunctionDescriptor[] result = new FunctionDescriptor[types.length]; for(int i = 0; i < types.length; i++) { //treat all varags as the same type final String tmpTypeName = methodTypes.get(Math.min(i, methodTypes.size() - 1)).getRuntimeType(); Class<?> targetType = DataTypeManager.getDataTypeClass(tmpTypeName); Class<?> sourceType = types[i]; if (sourceType == null) { result[i] = findTypedConversionFunction(DataTypeManager.DefaultDataClasses.NULL, targetType); } else if (sourceType != targetType){ if (isVarArgArrayParam(method, types, i, targetType)) { //vararg array parameter continue; } result[i] = findTypedConversionFunction(sourceType, targetType); } } return result; }
if (isVarArgArrayParam(nextMethod, types, i, targetType)) {
if (isVarArgArrayParam(nextMethod, types, i, targetType)) {
if (isVarArgArrayParam(nextMethod, types, i, targetType)) {
if (fd.getMethod().isVarArgs() && fd.getTypes().length == types.length && library.isVarArgArrayParam(fd.getMethod(), types, types.length - 1, fd.getTypes()[types.length - 1])) { fd = fd.clone(); fd.setCalledWithVarArgArrayParam(true);
if (fd.getMethod().isVarArgs() && fd.getTypes().length == types.length && library.isVarArgArrayParam(fd.getMethod(), types, types.length - 1, fd.getTypes()[types.length - 1])) { fd = fd.clone(); fd.setCalledWithVarArgArrayParam(true);
if (fd.getMethod().isVarArgs() && fd.getTypes().length == types.length && library.isVarArgArrayParam(fd.getMethod(), types, types.length - 1, fd.getTypes()[types.length - 1])) { fd = fd.clone(); fd.setCalledWithVarArgArrayParam(true);