class_docstr: >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> node = ast.parse("""
  ... def foo(y):
  ...  if y: return 1
  ...  return 2""")
  >>> pm = passmanager.PassManager("test")
  >>> _, node = pm.apply(NormalizeIfElse, node)
  >>> print(pm.dump(backend.Python, node))
  def foo(y):
      if y:
          return 1
      else:
          return 2
  
  >>> node = ast.parse("""
  ... def foo(y):
  ...  if y:
  ...    z = y + 1
  ...    if z:
  ...      return 1
  ...    else:
  ...      return 3
  ...  return 2""")
  >>> pm = passmanager.PassManager("test")
  >>> _, node = pm.apply(NormalizeIfElse, node)
  >>> print(pm.dump(backend.Python, node))
  def foo(y):
      if y:
          z = (y + 1)
          if z:
              return 1
          else:
              return 3
      else:
          return 2
code: def check_lasts(self, node):
      if isinstance(node, (ast.Return, ast.Break, ast.Return)):
          return True
      if isinstance(node, ast.If):
          if not self.check_lasts(node.body[-1]):
              return False
          return node.orelse and self.check_lasts(node.orelse[-1])
  
file_path: pythran/pythran/transformations/normalize_ifelse.py
imports: from pythran.analyses import Ancestors
  from pythran.passmanager import Transformation
  import gast
label_desc: Use image node_id 2 for calling the NormalizeIfElse obj's underlying member method code with example usage: obj.check_lasts(node) and returns: True, unknown, False