protected String getConventionPointerNameString(String name) {
		StringBuilder buffer = new StringBuilder();
		buffer.append(callingConvention == null ? EMPTY_STRING : callingConvention);

		StringBuilder typeBuffer = new StringBuilder();
		int pointerLevels = getPointerLevels();
		if (pointerLevels > 0 || isReference()) {

			addParentName(typeBuffer);

			for (int i = 0; i < pointerLevels; ++i) {
				typeBuffer.append(getTypeString());
			}
			// kludge for now... current type-emitting mechanism in DemangledObject hierarchy
			//  lacks a lot... needs revamped.
			if (isLValueReference()) {
				typeBuffer.append(" &");
			}
			else if (isRValueReference()) {
				typeBuffer.append(" &&");
			}
		}

		if (!StringUtils.isBlank(typeBuffer)) {

			if (!StringUtils.isBlank(callingConvention)) {
				buffer.append(SPACE);
			}

			buffer.append(typeBuffer);
		}

		addModifier(buffer);

		if (isConstPointer) {
			buffer.append(CONST);
		}

		if (isPointer64()) {
			if (buffer.length() > 2) {
				buffer.append(SPACE);
			}
			buffer.append(PTR64);
		}

		if (name != null) {
			if ((buffer.length() > 0) && (buffer.charAt(buffer.length() - 1) != SPACE)) {
				buffer.append(SPACE);
			}
			buffer.append(name);
		}

		return buffer.toString();
	}
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