code: def _post_analysis(self):
          
  
          self._make_completed_functions()
          new_changes = self._iteratively_analyze_function_features()
          functions_do_not_return = new_changes['functions_do_not_return']
          self._update_function_callsites(functions_do_not_return)
  
          # Create all pending edges
          for _, edges in self._pending_edges.items():
              for src_node, dst_node, data in edges:
                  self._graph_add_edge(src_node, dst_node, **data)
  
          # Remove those edges that will never be taken!
          self._remove_non_return_edges()
  
          CFGBase._post_analysis(self)
docs: Post-CFG-construction.
  
          :return: None