code: def visit_ClassDef(self, node):
          
          self.defined_types.add(node.name)
  
          bases = []
          for n in node.bases:
              base_parts = []
              while True:
                  if not isinstance(n, ast.Attribute):
                      base_parts.append(n.id)
                      break
                  else:
                      base_parts.append(n.attr)
                  n = n.value
              bases.append(".".join(base_parts[::-1]))
          self.required_types |= set(bases)
  
          signature = get_signature(node)
          stub_node = ClassNode(node.name, bases=bases, signature=signature)
          self._parents[-1].add_child(stub_node)
  
          self._parents.append(stub_node)
          self.generic_visit(node)
          del self._parents[-1]
docs: Visit a class node.