code: def visit_Name(self, node):
      node = self.generic_visit(node)
      if isinstance(node.ctx, ast.Load):
          if node.id in self.closure_vars:
              setanno(node, "name", node.id)
              setanno(node, "value", self.closure_vars[node.id])
              self.check_objax_var_module(node)
          elif node.id in self.global_vars:
              setanno(node, "name", node.id)
              setanno(node, "value", self.global_vars[node.id])
              self.check_objax_var_module(node)
      return node
  
file_path: objax/objax/util/tracing.py
imports: import inspect
  import ast
  import re
  import tokenize
  from io import StringIO
  from typing import Callable
  from objax.variable import BaseVar, VarCollection
  from objax.module import Module
label_desc: Use image node_id 3 for calling the AnalyzeUserVariablesNodeTransformer obj's underlying member method code with example usage: obj.visit_Name(node) and returns: node