private void setReturnType(String demangled, DemangledFunction function, String returnType) {

		String updatedReturnType = returnType;
		if (returnType != null && DECLTYPE_RETURN_TYPE_PATTERN.matcher(returnType).matches()) {
			// Not sure yet if there is any information we wish to recover from this pattern.
			// Sample: decltype (functionName({parm#1}, (float)[42c80000]))
			updatedReturnType = null;
		}

		if (updatedReturnType != null) {
			function.setReturnType(parseReturnType(updatedReturnType));
			return;
		}

		// For GNU, we cannot leave the return type as null, because the DemangleCmd will fill in
		// pointer to the class to accommodate windows demangling
		DemangledDataType defaultReturnType =
			new DemangledDataType(mangledSource, demangled, "undefined");
		function.setReturnType(defaultReturnType);
	}
Parses the given demangled string and creates a {@link DemangledObject}

@param mangled the original mangled text
@param demangled the demangled text
@param simplify true signals to simplify types where possible, such as using simple c++ 
typedefs where possible.
@return the demangled object
@throws DemanglerParseException if there is an unexpected error parsing
@see #parse(String, String, boolean)
Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerParser.java