class_docstr: Internal implementation of `tornado.gen.coroutine`.
  
  Maintains information about pending callbacks and their results.
  
  The results of the generator are stored in ``result_future`` (a
  `.Future`)
class_docstr_tok: ["Internal","implementation","of","`","tornado.gen.coroutine","`",".","Maintains","information","about","pending","callbacks","and","their","results",".","The","results","of","the","generator","are","stored","in","``","result_future","``","(","a","`",".Future","`",")"]
code: def handle_yield(self, yielded: _Yieldable) -> bool:
      try:
          self.future = convert_yielded(yielded)
      except BadYieldError:
          self.future = Future()
          future_set_exc_info(self.future, sys.exc_info())
  
      if self.future is moment:
          self.io_loop.add_callback(self.ctx_run, self.run)
          return False
      elif self.future is None:
          raise Exception("no pending future")
      elif not self.future.done():
  
          def inner(f: Any) -> None:
              # Break a reference cycle to speed GC.
              f = None  # noqa: F841
              self.ctx_run(self.run)
  
          self.io_loop.add_future(self.future, inner)
          return False
      return True
  
imports: import asyncio
  import builtins
  import collections
  from collections.abc import Generator
  import concurrent.futures
  import datetime
  import functools
  from functools import singledispatch
  from inspect import isawaitable
  import sys
  import types
  from tornado.concurrent import Future, is_future, chain_future, future_set_exc_info, future_add_done_callback, future_set_result_unless_cancelled
  from tornado.ioloop import IOLoop
  from tornado.log import app_log
  from tornado.util import TimeoutError
  import typing
  from typing import Union, Any, Callable, List, Type, Tuple, Awaitable, Dict, overload
label_desc: Use image node_id 3 for calling the Runner obj's underlying member method code with example usage: obj.handle_yield(yielded) and returns: True, False, False