class_docstr: Base class for all context managers for pipeline DSL.
class_docstr_tok: ["Base","class","for","all","context","managers","for","pipeline","DSL","."]
code: def __exit__(
      self,
      exc_type: Optional[Type[BaseException]],
      exc_val: Optional[BaseException],
      exc_tb: Optional[types.TracebackType],
  ):
      if self._pushed:
          reg = dsl_context_registry.get()
          assert reg.peek_context() == self._pushed
          context = reg.pop_context()
          self._pushed = None
          nodes = reg.get_nodes(context)
          context.validate(nodes)
          context.on_context_exit(nodes)
  
file_path: tfx/tfx/dsl/context_managers/dsl_context_manager.py
imports: import abc
  import types
  from typing import TypeVar, Generic, Optional, Type
  from tfx.dsl.context_managers import dsl_context
  from tfx.dsl.context_managers import dsl_context_registry
label_desc: Use image node_id 5 for calling the DslContextManager obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_val, exc_tb) without return types