code: def test_parallel_walk_inconsistent_trees(self):
      node_1 = parser.parse(
          textwrap.dedent(
              """
        def f(a):
          return a + 1
      """
          )
      )
      node_2 = parser.parse(
          textwrap.dedent(
              """
        def f(a):
          return a + (a * 2)
      """
          )
      )
      node_3 = parser.parse(
          textwrap.dedent(
              """
        def f(a):
          return a + 2
      """
          )
      )
      with self.assertRaises(ValueError):
          for _ in ast_util.parallel_walk(node_1, node_2):
              pass
      # There is not particular reason to reject trees that differ only in the
      # value of a constant.
      # TODO(mdan): This should probably be allowed.
      with self.assertRaises(ValueError):
          for _ in ast_util.parallel_walk(node_1, node_3):
              pass
  
imports: import ast
  import collections
  import textwrap
  import gast
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import ast_util
  from tensorflow.python.autograph.pyct import loader
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import pretty_printer
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.platform import test
label_desc: Use image node_id 21 for calling the AstUtilTest obj's underlying member method code with example usage: obj.test_parallel_walk_inconsistent_trees() without return types