code: def visit_Call(self, node):
      func_aliases = self.aliases[node.func]
      for alias in func_aliases:
          if getattr(alias, "immediate_arguments", []):
              for i, arg in enumerate(node.args):
                  if i in alias.immediate_arguments:
                      self.result.add(arg)
  
      if (
          len(func_aliases) == 1
          and next(iter(func_aliases)) is _make_shape
      ):
          self.result.update(
              a
              for a in node.args
              if isnum(a) and isinstance(a.value, int) and a.value >= 0
          )
          return
  
      return self.generic_visit(node)
  
file_path: pythran/pythran/analyses/immediates.py
imports: from pythran.analyses import Aliases
  from pythran.passmanager import NodeAnalysis
  from pythran.utils import pythran_builtin, isnum, ispowi
label_desc: Use image node_id 4 for calling the Immediates obj's underlying member method code with example usage: obj.visit_Call(node) and returns: self