void (@NotNull PyAssignmentStatement node) { final PyFunction function = PsiTreeUtil.getParentOfType(node, PyFunction.class, true, PyClass.class); if (function == null) return; final Scope scope = ControlFlowCache.getScope(function); for (Pair<PyExpression, PyExpression> pair : node.getTargetsToValuesMapping()) { final PyExpression value = pair.getFirst(); if (value == null) continue; final String name = value.getName(); if (name == null || scope.isGlobal(name)) continue; if (value instanceof PyTargetExpression) { final PyExpression qualifier = ((PyTargetExpression)value).getQualifier(); if (qualifier != null) { return; } } final PyCallExpression assignedValue = PyUtil.as(pair.getSecond(), PyCallExpression.class); if (assignedValue != null && assignedValue.getCallee() != null && PyNames.NAMEDTUPLE.equals(assignedValue.getCallee().getName())) { return; } final String errorCode = "N806"; if (!LOWERCASE_REGEX.matcher(name).matches() && !name.startsWith("_") && !ignoredErrors.contains(errorCode)) { registerAndAddRenameAndIgnoreErrorQuickFixes(value, errorCode); } } }