class_docstr: Inline one line functions.
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> pm = passmanager.PassManager("test")
  >>> node = ast.parse('''
  ... def foo(a, b):
  ...     return b + b * a
  ... def bar(b):
  ...     return foo(2 * b, b) * foo(b, b)''')
  >>> _, node = pm.apply(Inlining, node)
  >>> print(pm.dump(backend.Python, node))
  def foo(a, b):
      return (b + (b * a))
  def bar(b):
      __pythran_inlinefooa0 = (2 * b)
      __pythran_inlinefoob0 = b
      __pythran_inlinefooa1 = b
      __pythran_inlinefoob1 = b
      return ((__pythran_inlinefoob0 + (__pythran_inlinefoob0 * __pythran_inlinefooa0)) * (__pythran_inlinefoob1 + (__pythran_inlinefoob1 * __pythran_inlinefooa1)))
docstr: fun : Function {name :body} for inlinable functions. 
docstr_tok: ["fun",":","Function","{","name",":","body","}","for","inlinable","functions","."]
code: def __init__(self):
      """fun : Function {name :body} for inlinable functions."""
      self.update = False
      self.defs = list()
      self.call_count = 0
      super(Inlining, self).__init__(Inlinable, Aliases)
  
file_path: pythran/pythran/optimizations/inlining.py
imports: from pythran.analyses import Inlinable, Aliases
  from pythran.passmanager import Transformation
  import gast
  import copy
label_desc: Use image node_id 1 to create a new Inlining object from inherited base classes: Transformation with example: obj = Inlining()