code: def test_while(self):
      def test_fn(a):
          max(a)
          while True:
              a = a
              a = a
          return a
  
      node = self._parse_and_analyze(test_fn)
      fn_body = node.body
  
      self.assertHasDefs(fn_body[0].value.args[0], 1)
      self.assertHasDefs(fn_body[1].body[0].targets[0], 1)
      self.assertHasDefs(fn_body[1].body[1].targets[0], 1)
      self.assertHasDefs(fn_body[1].body[1].value, 1)
      # The loop does have an invariant test, but the CFG doesn't know that.
      self.assertHasDefs(fn_body[1].body[0].value, 2)
      self.assertHasDefs(fn_body[2].value, 2)
  
imports: from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import cfg
  from tensorflow.python.autograph.pyct import naming
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import transformer
  from tensorflow.python.autograph.pyct.static_analysis import activity
  from tensorflow.python.autograph.pyct.static_analysis import reaching_definitions
  from tensorflow.python.platform import test
label_desc: Use image node_id 5 for calling the ReachingDefinitionsAnalyzerTest obj's underlying member method code with example usage: obj.test_while() and returns: a