class_docstr: An object that can accumulate lines of Python source before execution.
  
  This object is designed to be fed python source line-by-line, using
  :meth:`push`. It will return on each push whether the currently pushed
  code could be executed already. In addition, it provides a method called
  :meth:`push_accepts_more` that can be used to query whether more input
  can be pushed into a single interactive block.
  
  This is a simple example of how an interactive terminal-based client can use
  this tool::
  
      isp = InputSplitter()
      while isp.push_accepts_more():
          indent = ' '*isp.indent_spaces
          prompt = '>>> ' + indent
          line = indent + raw_input(prompt)
          isp.push(line)
      print 'Input source was:\n', isp.source_reset(),
docstr: Return the input source and perform a full reset.
          
code: def source_reset(self):
      """Return the input source and perform a full reset."""
      out = self.source
      self.reset()
      return out
  
imports: import ast
  import codeop
  import re
  import sys
  import warnings
  from IPython.utils.py3compat import cast_unicode
  from IPython.core.inputtransformer import leading_indent, classic_prompt, ipy_prompt, strip_encoding_cookie, cellmagic, assemble_logical_lines, help_end, escaped_commands, assign_from_magic, assign_from_system, assemble_python_lines
  from IPython.core.inputtransformer import ESC_SHELL, ESC_SH_CAP, ESC_HELP, ESC_HELP2, ESC_MAGIC, ESC_MAGIC2, ESC_QUOTE, ESC_QUOTE2, ESC_PAREN, ESC_SEQUENCES
label_desc: Use image node_id 3 for calling the InputSplitter obj's underlying member method code with example usage: obj.source_reset() and returns: out