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: Finds exported APIs in contents.
docstr_tok: ["Finds","exported","APIs","in","contents","."]
code: def process(self, filename: str, contents: str) -> None:
      """Finds exported APIs in contents."""
      self._current_file_decorators = set()
      self._current_file = filename
      try:
          parsed = ast.parse(contents, filename=filename)
      except Exception as e:  # pylint: disable=broad-exception-caught
          # logging errors when parsing file
          logging.exception("Error parsing %s: %s", filename, e)
      else:
          self.visit(parsed)
      finally:
          self._current_file = None
          self._current_file_decorators = set()
  
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 3 for calling the Parser obj's underlying member method code with example usage: obj.process(filename, contents) without return types