class_docstr: Wrapper for an input transformer implemented as a coroutine.
class_docstr_tok: ["Wrapper","for","an","input","transformer","implemented","as","a","coroutine","."]
docstr: Send a line of input to the transformer, returning the
  transformed input or None if the transformer is waiting for more
  input.
docstr_tok: ["Send","a","line","of","input","to","the","transformer",",","returning","the","transformed","input","or","None","if","the","transformer","is","waiting","for","more","input","."]
code: def push(self, line):
      """Send a line of input to the transformer, returning the
      transformed input or None if the transformer is waiting for more
      input.
      """
      return self.coro.send(line)
  
imports: import abc
  import functools
  import re
  from IPython.core.splitinput import LineInfo
  from IPython.utils import tokenize2
  from IPython.utils.openpy import cookie_comment_re
  from IPython.utils.py3compat import with_metaclass, PY3
  from IPython.utils.tokenize2 import generate_tokens, untokenize, TokenError
label_desc: Use image node_id 3 for calling the CoroutineInputTransformer obj's underlying member method code with example usage: obj.push(line) and returns: self