@Override
	public void fixupDWARFFunction(DWARFFunction dfunc) {

		// Fix any dups among the parameters, to-be-added-local vars, and already present local vars
		NameDeduper nameDeduper = new NameDeduper();
		nameDeduper.addReservedNames(dfunc.getAllParamNames());
		nameDeduper.addReservedNames(dfunc.getAllLocalVariableNames());
		nameDeduper.addUsedNames(dfunc.getNonParamSymbolNames());

		for (DWARFVariable param : dfunc.params) {
			String newName = nameDeduper.getUniqueName(param.name.getName());
			if (newName != null) {
				param.name = param.name.replaceName(newName, param.name.getOriginalName());
			}
		}

		for (DWARFVariable localVar : dfunc.localVars) {
			String newName = nameDeduper.getUniqueName(localVar.name.getName());
			if (newName != null) {
				localVar.name = localVar.name.replaceName(newName, localVar.name.getOriginalName());
			}
		}
	}
Ensures that function parameter names are unique and valid
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/funcfixup/ParamNameDWARFFunctionFixup.java