public FunctionDefinitionDataType createFuncDef(List<ParameterDefinition> params,
			List<ParameterDefinition> returnParams, GoSymbolName symbolName, boolean noReturn) {
		DataType returnDT;
		if ( returnParams == null ) {
			returnDT = null;
		}
		else if (returnParams.size() == 0) {
			returnDT = VoidDataType.dataType;
		}
		else if (returnParams.size() == 1) {
			returnDT = returnParams.get(0).getDataType();
		}
		else {
			List<DataType> paramDTs =
				returnParams.stream().map(ParameterDefinition::getDataType).toList();
			returnDT = goTypes.getFuncMultiReturn(paramDTs);
		}
		
		return createFuncDef(params, returnDT, symbolName, noReturn);
	}
Returns function definition information for a func.

@param funcData {@link GoFuncData} representing a go func
@return {@link FuncDefResult} record, or null if no information could be found or
generated
@throws IOException if error reading type info
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoRttiMapper.java