class_docstr: Gather aliasing informations across nodes
  
  As a result, each node from the module is associated to a set of node or
  Intrinsic to which it *may* alias to.
class_docstr_tok: ["Gather","aliasing","informations","across","nodes","As","a","result",",","each","node","from","the","module","is","associated","to","a","set","of","node","or","Intrinsic","to","which","it","*","may","*","alias","to","."]
docstr: While statement evaluation is somehow equivalent to the evaluation of a
  sequence, except the fact that in some subtle cases, the first rounds
  of analyse fails because we do not follow the regular execution order
  
  >>> from pythran import passmanager
  >>> pm = passmanager.PassManager('demo')
  >>> fun = """
  ... def foo(a):
  ...     while(a):
  ...         if a == 1: builtins.print(b)
  ...         else: b = a"""
  >>> module = ast.parse(fun)
  >>> result = pm.gather(Aliases, module)
docstr_tok: ["While","statement","evaluation","is","somehow","equivalent","to","the","evaluation","of","a","sequence",",","except","the","fact","that","in","some","subtle","cases",",","the","first","rounds","of","analyse","fails","because","we","do","not","follow","the","regular","execution","order",">",">",">","from","pythran","import","passmanager",">",">",">","pm","=","passmanager.PassManager","(","'demo","'",")",">",">",">","fun","=","``","''","''","...","def","foo","(","a",")",":","...","while","(","a",")",":","...","if","a","==","1",":","builtins.print","(","b",")","...","else",":","b","=","a","''","''","''",">",">",">","module","=","ast.parse","(","fun",")",">",">",">","result","=","pm.gather","(","Aliases",",","module",")"]
code: def visit_While(self, node):
      '''
  
      While statement evaluation is somehow equivalent to the evaluation of a
      sequence, except the fact that in some subtle cases, the first rounds
      of analyse fails because we do not follow the regular execution order
  
      >>> from pythran import passmanager
      >>> pm = passmanager.PassManager('demo')
      >>> fun = """
      ... def foo(a):
      ...     while(a):
      ...         if a == 1: builtins.print(b)
      ...         else: b = a"""
      >>> module = ast.parse(fun)
      >>> result = pm.gather(Aliases, module)
      '''
      self.generic_visit(node)
      self.generic_visit(node)
  
imports: from pythran.analyses.global_declarations import GlobalDeclarations
  from pythran.intrinsic import Intrinsic, Class, UnboundValue
  from pythran.passmanager import ModuleAnalysis
  from pythran.tables import functions, methods, MODULES
  from pythran.unparse import Unparser
  from pythran.conversion import demangle
  import pythran.metadata
  from pythran.utils import isnum
  from pythran.syntax import PythranSyntaxError
  import gast
  from copy import deepcopy
  from itertools import product
  import io
label_desc: Use image node_id 25 for calling the Aliases obj's underlying member method code with example usage: obj.visit_While(node) without return types