private boolean fixUpFunctionDef(FixUpInfo info, FunctionDefinition fd) {

		DataType dt = resolve(info.compID, info.getDataTypeManager(), info.ht);

		long lastChangeTime = fd.getLastChangeTime(); // Don't let the time change.
		try {
			if (dt != null) {
				if (info.index < 0) { // -1 for return type
					fd.setReturnType(dt);
				}
				else {
					ParameterDefinition[] args = fd.getArguments();
					args[info.index].setDataType(dt);
				}
				return true;
			}

			if (info.index < 0) { // -1 for return type
				// nowhere to set error comment
			}
			else {
				ParameterDefinition[] args = fd.getArguments();
				ParameterDefinition arg = args[info.index];
				String comment =
					buildDataTypeFailureComment(info.componentDataType, null, arg.getComment());
				arg.setComment(comment);
			}
		}
		finally {
			fd.setLastChangeTime(lastChangeTime); // Reset the last change time to the merged data type's.
		}
		return false;
	}
Fix up the function definition using the fix up info for a component.
@param info fixup info
@param fd function definition to be fixed-up
@return true if fixup successfully processed else false
Ghidra/Features/Base/src/main/java/ghidra/app/merge/datatypes/DataTypeMergeManager.java