private void removeExplicitThisParameters(FunctionDB func) {

		// only process non-thunk __thiscall functions with dynamic storage
		if (func.isThunk() ||
			!CompilerSpec.CALLING_CONVENTION_thiscall.equals(func.getCallingConventionName()) ||
			func.hasCustomVariableStorage()) {
			return;
		}

// FIXME: this does not address return-storage-ptr auto-param case !!

		for (Parameter param : func.getParameters()) {
			if (param.isAutoParameter()) {
				continue; // ignore auto-params
			}
			if (isLikelyThisParam(param)) {
				func.removeVariable(param);
			}
			break;
		}
	}
Remove parameter symbols which correspond to the 'this' parameter for all
__thiscall functions using dynamic storage.
NOTE: This method intended to be called by ProgramDB only during appropriate upgrade.
@param monitor
@throws CancelledException
@throws IOException
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java