code: def _split(self):
      if self.argument_node is None:
          return
  
      # Allow testlist here as well for Python2's class inheritance
      # definitions.
      if not (
          self.argument_node.type in ("arglist", "testlist")
          or (
              # in python 3.5 **arg is an argument, not arglist
              (self.argument_node.type == "argument")
              and self.argument_node.children[0] in ("*", "**")
          )
      ):
          yield 0, self.argument_node
          return
  
      iterator = iter(self.argument_node.children)
      for child in iterator:
          if child == ",":
              continue
          elif child in ("*", "**"):
              yield len(child.value), next(iterator)
          elif child.type == "argument" and child.children[0] in (
              "*",
              "**",
          ):
              assert len(child.children) == 2
              yield len(child.children[0].value), child.children[1]
          else:
              yield 0, child
  
imports: import re
  from parso.python import tree
  from jedi._compatibility import zip_longest
  from jedi import debug
  from jedi.evaluate import analysis
  from jedi.evaluate.lazy_context import LazyKnownContext, LazyKnownContexts, LazyTreeContext, get_merged_lazy_context
  from jedi.evaluate.filters import ParamName
  from jedi.evaluate.base_context import NO_CONTEXTS
  from jedi.evaluate.context import iterable
  from jedi.evaluate.param import get_executed_params, ExecutedParam
label_desc: Use image node_id 2 for calling the TreeArguments obj's underlying member method code with example usage: obj._split() without return types