@Override
    public void visitPyClass(final @NotNull PyClass node) {
      final List<PyClassLikeType> expressions = node.getSuperClassTypes(myTypeEvalContext);
      List<LocalQuickFix> quickFixes = new ArrayList<>();
      quickFixes.add(new PyConvertToNewStyleQuickFix());
      if (!expressions.isEmpty()) {
        quickFixes.add(new PyChangeBaseClassQuickFix());
      }
      if (!node.isNewStyleClass(myTypeEvalContext)) {
        for (PyTargetExpression attr : node.getClassAttributes()) {
          if (PyNames.SLOTS.equals(attr.getName())) {
            registerProblem(attr, PyPsiBundle.message("INSP.oldstyle.class.slots"), ProblemHighlightType.GENERIC_ERROR_OR_WARNING, null, quickFixes.toArray(
              LocalQuickFix.EMPTY_ARRAY));
          }
        }
        for (PyFunction attr : node.getMethods()) {
          if (PyNames.GETATTRIBUTE.equals(attr.getName())) {
            final ASTNode nameNode = attr.getNameNode();
            assert nameNode != null;
            registerProblem(nameNode.getPsi(), PyPsiBundle.message("INSP.oldstyle.class.getattribute"), ProblemHighlightType.GENERIC_ERROR_OR_WARNING, null, quickFixes.toArray(
              LocalQuickFix.EMPTY_ARRAY));
          }
        }
      }
    }
@Override
    public void visitPyClass(final @NotNull PyClass node)