class_docstr: Expands all builtins into full paths.
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> node = ast.parse('''
  ... a = 1
  ... def foo():
  ...     return a''')
  >>> pm = passmanager.PassManager("test")
  >>> _, node = pm.apply(ExpandGlobals, node)
  >>> print(pm.dump(backend.Python, node))
  def a():
      return 1
  def foo():
      return a()
docstr: Turn global variable used not shadows to function call.
  
  We check it is a name from an assignment as import or functions use
  should not be turn into call.
docstr_tok: ["Turn","global","variable","used","not","shadows","to","function","call",".","We","check","it","is","a","name","from","an","assignment","as","import","or","functions","use","should","not","be","turn","into","call","."]
code: def visit_Name(self, node):
      """
      Turn global variable used not shadows to function call.
  
      We check it is a name from an assignment as import or functions use
      should not be turn into call.
      """
      if (
          isinstance(node.ctx, ast.Load)
          and node.id not in self.local_decl
          and node.id in self.to_expand
      ):
          self.update = True
          return ast.Call(func=node, args=[], keywords=[])
      return node
  
file_path: catboost/contrib/python/pythran/pythran/transformations/expand_globals.py
imports: from pythran.analyses import LocalNameDeclarations
  from pythran.passmanager import Transformation
  from pythran.syntax import PythranSyntaxError
  from pythran.utils import path_to_attr
  from pythran import metadata
  import gast
label_desc: Use image node_id 3 for calling the ExpandGlobals obj's underlying member method code with example usage: obj.visit_Name(node) and returns: node, ast