code: def test_complex_assignment():
      source = (
          "a = 1 + 1; b = a  #: compound statement\n"
          "c, d = (1, 1)  #: unpack assignment\n"
          "e = True  #: first assignment\n"
          "e = False  #: second assignment\n"
          "f = g = None  #: multiple assignment at once\n"
          "(theta, phi) = (0, 0.5)  #: unpack assignment via tuple\n"
          "[x, y] = (5, 6)  #: unpack assignment via list\n"
          "h, *i, j = (1, 2, 3, 4)  #: unpack assignment2\n"
          "k, *self.attr = (5, 6, 7)  #: unpack assignment3\n"
          "l, *m[0] = (8, 9, 0)  #: unpack assignment4\n"
      )
      parser = Parser(source)
      parser.parse()
      assert parser.comments == {
          ("", "b"): "compound statement",
          ("", "c"): "unpack assignment",
          ("", "d"): "unpack assignment",
          ("", "e"): "second assignment",
          ("", "f"): "multiple assignment at once",
          ("", "g"): "multiple assignment at once",
          ("", "theta"): "unpack assignment via tuple",
          ("", "phi"): "unpack assignment via tuple",
          ("", "x"): "unpack assignment via list",
          ("", "y"): "unpack assignment via list",
          ("", "h"): "unpack assignment2",
          ("", "i"): "unpack assignment2",
          ("", "j"): "unpack assignment2",
          ("", "k"): "unpack assignment3",
          ("", "l"): "unpack assignment4",
      }
      assert parser.definitions == {}
  
imports: from sphinx.pycode.parser import Parser
  from sphinx.util.inspect import signature_from_str
label_desc: Use image node_id 4 for calling a global function with example usage: test_complex_assignment() without return types