code: def test_nonlocal(self):
      a = 3
      b = 13
  
      def test_fn():
          nonlocal a
          nonlocal b
          if a:
              b = []
          return a, b
  
      node = self._parse_and_analyze(test_fn)
      fn_body = node.body
  
      self.assertHasDefs(fn_body[2].test, 1)
      self.assertHasDefs(fn_body[2].body[0].targets[0], 1)
      self.assertHasDefs(fn_body[3].value.elts[0], 1)
      self.assertHasDefs(fn_body[3].value.elts[1], 2)
  
      self.assertSameDef(fn_body[2].test, fn_body[3].value.elts[0])
  
      self.assertHasDefinedIn(fn_body[2], ("a", "b"))
  
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 20 for calling the ReachingDefinitionsAnalyzerTest obj's underlying member method code with example usage: obj.test_nonlocal() and returns: a,  b