class_docstr: Gathers inter-procedural effects on function arguments.
class_docstr_tok: ["Gathers","inter-procedural","effects","on","function","arguments","."]
code: def argument_index(self, node):
      while isinstance(node, ast.Subscript):
          node = node.value
      for node_alias in self.aliases[node]:
          while isinstance(node_alias, ast.Subscript):
              node_alias = node_alias.value
          if node_alias in self.current_arguments:
              return self.current_arguments[node_alias]
          if node_alias in self.current_subscripted_arguments:
              return self.current_subscripted_arguments[node_alias]
      return -1
  
imports: from pythran.analyses.aliases import Aliases
  from pythran.analyses.intrinsics import Intrinsics
  from pythran.analyses.global_declarations import GlobalDeclarations
  from pythran.passmanager import ModuleAnalysis
  from pythran.tables import MODULES
  from pythran.graph import DiGraph
  from pythran import intrinsic
  import gast
  from functools import reduce
label_desc: Use image node_id 4 for calling the ArgumentEffects obj's underlying member method code with example usage: obj.argument_index(node) and returns: unknown, self, self