@Override
	public DataType getDataType(DataTypeManager dataTypeManager) {

		FunctionDefinitionDataType fddt =
			new FunctionDefinitionDataType(DEMANGLER_ANONYMOUS_FUNCTION_CATEGORY_PATH, getName());

		if (returnType != null) {
			fddt.setReturnType(returnType.getDataType(dataTypeManager));
		}

		setParameters(fddt, dataTypeManager);

		DataTypeNamingUtil.setMangledAnonymousFunctionName(fddt);

		DataType dt = DemangledDataType.findDataType(dataTypeManager, namespace, getName());
		if (dt == null || !(dt instanceof FunctionDefinitionDataType)) {
			dt = fddt;
		}

		// This was also totally wonked in terms of type-emitting.  Whole mangled type needs
		//  gone through and revamped;  not sure it is good to have pointer levels or reference
		//  information in a FunctionPointer... need to investigate more.
		int numPointers = getPointerLevels();

		for (int i = 0; i < numPointers; ++i) {
			dt = PointerDataType.getPointer(dt, dataTypeManager);
		}

		if (isLValueReference()) {
			// Placeholder in prep for more lref work
			dt = PointerDataType.getPointer(dt, dataTypeManager);
		}
		else if (isRValueReference()) {
			// Placeholder in prep for more rref work
			dt = PointerDataType.getPointer(dt, dataTypeManager);
		}

		return dt;
	}
Returns a list of the parameters for this demangled functions.
@return a list of the parameters for this demangled functions
Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/AbstractDemangledFunctionDefinitionDataType.java