code: def add_direct_edges(g, child, bases):
      # Enforce that bases are ordered in the order that the appear in child's
      # class declaration.
      g.add_path(
          [b.__name__ for b in bases], label=child.__name__ + "(O)"
      )
  
      # Add direct edges.
      for base in bases:
          g.add_edge(
              child.__name__,
              base.__name__,
              label=child.__name__ + "(D)",
          )
          add_direct_edges(g, base, base.__bases__)
  
file_path: zipline/zipline/testing/debug.py
imports: import os
  import subprocess
  import networkx
label_desc: Use image node_id 4 for calling a global function with example usage: add_direct_edges(g, child, bases) without return types