class_docstr: Fill in the AST template for timing execution.
  
  This is quite closely tied to the template definition, which is in
  :meth:`ExecutionMagics.timeit`.
docstr: Fill in the setup statement
docstr_tok: ["Fill","in","the","setup","statement"]
code: def visit_FunctionDef(self, node):
      "Fill in the setup statement"
      self.generic_visit(node)
      if node.name == "inner":
          node.body[:1] = self.ast_setup.body
  
      return node
  
imports: from __future__ import print_function
  from __future__ import absolute_import
  import ast
  import bdb
  import gc
  import itertools
  import os
  import sys
  import time
  import timeit
  from pdb import Restart
  from IPython.core import oinspect
  from IPython.core import magic_arguments
  from IPython.core import page
  from IPython.core.error import UsageError
  from IPython.core.macro import Macro
  from IPython.core.magic import Magics, magics_class, line_magic, cell_magic, line_cell_magic, on_off, needs_local_scope
  from IPython.testing.skipdoctest import skip_doctest
  from IPython.utils import py3compat
  from IPython.utils.py3compat import builtin_mod, iteritems, PY3
  from IPython.utils.contexts import preserve_keys
  from IPython.utils.capture import capture_output
  from IPython.utils.ipstruct import Struct
  from IPython.utils.module_paths import find_mod
  from IPython.utils.path import get_py_filename, shellglob
  from IPython.utils.timing import clock, clock2
  from warnings import warn
  from logging import error
label_desc: Use image node_id 2 for calling the TimeitTemplateFiller obj's underlying member method code with example usage: obj.visit_FunctionDef(node) and returns: node