void (@NotNull PyAssignmentStatement node) { final PyExpression value = node.getAssignedValue(); if (value instanceof PyCallExpression call) { final PyType type = myTypeEvalContext.getType(value); final PyExpression callee = call.getCallee(); if (type instanceof PyNoneType && callee != null) { final Condition<PyCallable> ignoredCallable = callable -> myTypeEvalContext.getReturnType(callable) != PyNoneType.INSTANCE || PythonSdkUtil.isElementInSkeletons(callable) || callable instanceof PyFunction && hasInheritors((PyFunction)callable); final List<PyCallable> callables = call.multiResolveCalleeFunction(getResolveContext()); if (!callables.isEmpty() && !ContainerUtil.exists(callables, ignoredCallable)) { registerProblem(node, PyPsiBundle.message("INSP.none.function.assignment", callee.getName()), new PyRemoveAssignmentQuickFix()); } } } }