class_docstr: A class for visiting ClassDef nodes in an abstract syntax tree (AST).
  
  This class extends the ast.NodeVisitor class and is used to extract all
  classes and their respective methods in the Python source code.
  
  Attributes
  ----------
  classes : list
      A list of ClassDef nodes in the Python source code.
  class_methods : dict
      A dictionary mapping class names to their respective FunctionDef nodes.
  
  Methods
  -------
  visit_ClassDef(node) :
      Extracts the ClassDef node and its methods.
class_docstr_tok: ["A","class","for","visiting","ClassDef","nodes","in","an","abstract","syntax","tree","(","AST",")",".","This","class","extends","the","ast.NodeVisitor","class","and","is","used","to","extract","all","classes","and","their","respective","methods","in","the","Python","source","code",".","Attributes","--","--","--","--","--","classes",":","list","A","list","of","ClassDef","nodes","in","the","Python","source","code",".","class_methods",":","dict","A","dictionary","mapping","class","names","to","their","respective","FunctionDef","nodes",".","Methods","--","--","--","-","visit_ClassDef","(","node",")",":","Extracts","the","ClassDef","node","and","its","methods","."]
code: def visit_ClassDef(self, node):
      self.classes.append(node)
      self.class_methods[node.name] = [
          n
          for n in ast.iter_child_nodes(node)
          if isinstance(n, ast.FunctionDef)
      ]
      self.generic_visit(node)
  
imports: import ast
  import json
  import re
  import argparse
  import textwrap
  import os
  from collections import defaultdict
label_desc: Use image node_id 2 for calling the ClassVisitor obj's underlying member method code with example usage: obj.visit_ClassDef(node) without return types