class_docstr: AST visitor that annotates each symbol name with its reaching definitions.
  
  Simultaneously, the visitor runs the dataflow analysis on each function node,
  accounting for the effect of closures. For example:
  
    def foo():
      bar = 1
      def baz():
        # bar = 1 reaches here
class_docstr_tok: ["AST","visitor","that","annotates","each","symbol","name","with","its","reaching","definitions",".","Simultaneously",",","the","visitor","runs","the","dataflow","analysis","on","each","function","node",",","accounting","for","the","effect","of","closures",".","For","example",":","def","foo","(",")",":","bar","=","1","def","baz","(",")",":","#","bar","=","1","reaches","here"]
code: def visit(self, node):
      parent = self.current_cfg_node
  
      if (
          self.current_analyzer is not None
          and node in self.current_analyzer.graph.index
      ):
          self.current_cfg_node = self.current_analyzer.graph.index[
              node
          ]
      node = super(TreeAnnotator, self).visit(node)
  
      self.current_cfg_node = parent
      return node
  
imports: import weakref
  import gast
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import cfg
  from tensorflow.python.autograph.pyct import transformer
label_desc: Use image node_id 10 for calling the TreeAnnotator obj's underlying member method code with example usage: obj.visit(node) and returns: node