class_docstr: Parser for Python source files that extracts TF API exports.
class_docstr_tok: ["Parser","for","Python","source","files","that","extracts","TF","API","exports","."]
docstr: Process top-level assign for potential symbol export.
docstr_tok: ["Process","top-level","assign","for","potential","symbol","export","."]
code: def _process_assign(self, node: ast.Assign) -> None:
      """Process top-level assign for potential symbol export."""
      if isinstance(node.value, ast.Call) and self._is_export_call(
          node.value.func
      ):
          # id = tf_export(...)(...)
          if len(node.targets) != 1:
              raise BadExportError(
                  f"{self._current_file}:{node.lineno} export must be"
                  f" assigned to a single value: {ast.dump(node)}"
              )
          symbol = self._name(node.targets[0])
          if not symbol:
              raise BadExportError(
                  f"{self._current_file}:{node.lineno} export must be"
                  f" assigned to a single value: {ast.dump(node)}"
              )
          self._add_exported_symbol(node.value.func, symbol)
      else:
          self.visit(node)
  
imports: import ast
  from collections.abc import Sequence
  import re
  from typing import Any, Optional, Union, cast
  from absl import flags
  from absl import logging
  from tensorflow.python.tools.api.generator2.shared import exported_api
label_desc: Use image node_id 9 for calling the Parser obj's underlying member method code with example usage: obj._process_assign(node) without return types