A context manager for manipulating a default stack.
(self, default)
| 5361 | |
| 5362 | @tf_contextlib.contextmanager |
| 5363 | def get_controller(self, default): |
| 5364 | """A context manager for manipulating a default stack.""" |
| 5365 | self.stack.append(default) |
| 5366 | try: |
| 5367 | yield default |
| 5368 | finally: |
| 5369 | # stack may be empty if reset() was called |
| 5370 | if self.stack: |
| 5371 | if self._enforce_nesting: |
| 5372 | if self.stack[-1] is not default: |
| 5373 | raise AssertionError( |
| 5374 | "Nesting violated for default stack of %s objects" % |
| 5375 | type(default)) |
| 5376 | self.stack.pop() |
| 5377 | else: |
| 5378 | self.stack.remove(default) |
| 5379 | |
| 5380 | |
| 5381 | _default_session_stack = _DefaultStack() # pylint: disable=protected-access |
no test coverage detected