get_cart_from_session() public method

Get the cart data from the PHP session and store it in class variables.
 function save_addresses()
 {
     global $woocommerce;
     require_once $woocommerce->plugin_path() . '/classes/class-wc-cart.php';
     require_once $woocommerce->plugin_path() . '/classes/class-wc-checkout.php';
     $cart = new WC_Cart();
     $woocommerce->checkout = new WC_Checkout();
     $checkout = $woocommerce->checkout;
     //$fields = apply_filters( 'woocommerce_shipping_fields', array() );
     $fields = $woocommerce->countries->get_address_fields($woocommerce->countries->get_base_country(), 'shipping_');
     $cart->get_cart_from_session();
     $cart_items = $cart->get_cart();
     if (isset($_POST['shipping_address_action']) && $_POST['shipping_address_action'] == 'save') {
         $data = array();
         $rel = array();
         $address_ids = $_POST['addresses'];
         foreach ($address_ids as $a_id) {
             if (!isset($_POST['items_' . $a_id]) || empty($_POST['items_' . $a_id])) {
                 continue;
             }
             $i = 1;
             if (isset($rel[$a_id]) && !empty($rel[$a_id])) {
                 continue;
             }
             ///echo '<pre>'. print_r($_POST, true); exit;
             foreach ($_POST['items_' . $a_id] as $x => $cart_key) {
                 $pid = $cart_items[$cart_key]['product_id'];
                 $rel[$a_id][] = $cart_key;
                 $item_key = $cart_key;
                 $sig = $item_key . '_' . $pid . '_';
                 while (isset($data['shipping_first_name_' . $sig . $i])) {
                     $i++;
                 }
                 $sig .= $i;
                 //echo '<pre>'. print_r($fields, true); exit;
                 if ($fields) {
                     foreach ($fields as $key => $field) {
                         $data[$key . '_' . $sig] = $_POST[$key . '_' . $a_id];
                     }
                 }
                 $cart_address_ids_session = wcms_session_get('cart_address_ids');
                 if (!wcms_session_isset('cart_address_ids') || !in_array($sig, $cart_address_ids_session)) {
                     $cart_address_sigs_session = wcms_session_get('cart_address_sigs');
                     $cart_address_sigs_session[$sig] = $a_id;
                     wcms_session_set('cart_address_sigs', $cart_address_sigs_session);
                 }
             }
         }
         //echo '<pre>'. print_r($_POST, true) .'</pre>';
         //echo '<pre>'. print_r($data, true); exit;
         wcms_session_set('cart_item_addresses', $data);
         wcms_session_set('address_relationships', $rel);
         // redirect to the checkout page
         $checkout_url = $woocommerce->cart->get_checkout_url();
         wp_redirect($checkout_url);
         exit;
     } elseif (isset($_POST['shipping_account_address_action']) && $_POST['shipping_account_address_action'] == 'save') {
         unset($_POST['shipping_account_address_action'], $_POST['set_addresses']);
         $addresses = array();
         foreach ($_POST as $key => $values) {
             foreach ($values as $idx => $val) {
                 $addresses[$idx][$key] = $val;
             }
         }
         $user = wp_get_current_user();
         update_user_meta($user->ID, 'wc_other_addresses', $addresses);
         $woocommerce->add_message(__('Addresses have been saved', 'wc_shipping_multiple_address'));
         $page_id = woocommerce_get_page_id('myaccount');
         wp_redirect(get_permalink($page_id));
         exit;
     }
 }