class_docstr: Lowers return statements into variables and conditionals.
  
  Specifically, the following pattern:
  
      <block 1>
      return val
      <block 2>
  
  is converted to:
  
      do_return = False
      retval = None
  
      <block 1>
  
      do_return = True
      retval = val
  
      if not do_return:
        <block 2>
  
      return retval
  
  The conversion adjusts loops as well:
  
      <block 1>
      while cond:
        <block 2>
        return retval
  
  is converted to:
  
      <block 1>
      while not do_return and cond:
        <block 2>
        do_return = True
        retval = val
class_docstr_tok: ["Lowers","return","statements","into","variables","and","conditionals",".","Specifically",",","the","following","pattern",":","<","block","1",">","return","val","<","block","2",">","is","converted","to",":","do_return","=","False","retval","=","None","<","block","1",">","do_return","=","True","retval","=","val","if","not","do_return",":","<","block","2",">","return","retval","The","conversion","adjusts","loops","as","well",":","<","block","1",">","while","cond",":","<","block","2",">","return","retval","is","converted","to",":","<","block","1",">","while","not","do_return","and","cond",":","<","block","2",">","do_return","=","True","retval","=","val"]
code: def _postprocess_statement(self, node):
      if not self.state[_Block].return_used:
          return node, None
  
      state = self.state[_Block]
      if state.create_guard_now:
          template = """
          if not do_return_var_name:
            original_node
        """
          (cond,) = templates.replace(
              template,
              do_return_var_name=self.state[
                  _Function
              ].do_return_var_name,
              original_node=node,
          )
          node, block = cond, cond.body
      else:
          node, block = node, None
  
      state.create_guard_now = state.create_guard_next
      state.create_guard_next = False
  
      return node, block
  
imports: import gast
  from tensorflow.python.autograph.core import converter
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import templates
  from tensorflow.python.autograph.pyct.static_analysis import activity
  from tensorflow.python.autograph.pyct.static_analysis.annos import NodeAnno
label_desc: Use image node_id 3 for calling the ReturnStatementsTransformer obj's underlying member method code with example usage: obj._postprocess_statement(node) and returns: node,  block, node,  None