void (PyCallExpression callExpr, PyExpression[] arguments) { final PyCallExpression.PyArgumentsMapping mapping = ContainerUtil.getFirstItem(callExpr.multiMapArguments(getResolveContext())); if (mapping == null) return; final Set<PyExpression> problemElements = new HashSet<>(); for (Map.Entry<PyExpression, PyCallableParameter> e : mapping.getMappedParameters().entrySet()) { final PyExpression defaultValue = findDefaultValue(mapping, e.getValue()); if (defaultValue != null) { PyExpression key = e.getKey(); if (key instanceof PyKeywordArgument && ((PyKeywordArgument)key).getValueExpression() != null) { key = ((PyKeywordArgument)key).getValueExpression(); } if (isEqual(key, defaultValue)) { problemElements.add(e.getKey()); } } } boolean canDelete = true; for (int i = arguments.length-1; i != -1; --i) { if (problemElements.contains(arguments[i])) { if (canDelete) registerProblem(arguments[i], PyPsiBundle.message("INSP.argument.equals.to.default"), new RemoveArgumentEqualDefaultQuickFix(problemElements)); else registerProblem(arguments[i], PyPsiBundle.message("INSP.argument.equals.to.default")); } else if (!(arguments[i] instanceof PyKeywordArgument)) canDelete = false; } }