| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- namespace Magento\CatalogInventory\Model\Indexer;
 
- use Magento\Framework\Indexer\CacheContext;
 
- class Stock implements \Magento\Framework\Indexer\ActionInterface, \Magento\Framework\Mview\ActionInterface
 
- {
 
-     /**
 
-      * @var \Magento\CatalogInventory\Model\Indexer\Stock\Action\Row
 
-      */
 
-     protected $_productStockIndexerRow;
 
-     /**
 
-      * @var \Magento\CatalogInventory\Model\Indexer\Stock\Action\Rows
 
-      */
 
-     protected $_productStockIndexerRows;
 
-     /**
 
-      * @var \Magento\CatalogInventory\Model\Indexer\Stock\Action\Full
 
-      */
 
-     protected $_productStockIndexerFull;
 
-     /**
 
-      * @var \Magento\Framework\Indexer\CacheContext
 
-      */
 
-     private $cacheContext;
 
-     /**
 
-      * @param Stock\Action\Row $productStockIndexerRow
 
-      * @param Stock\Action\Rows $productStockIndexerRows
 
-      * @param Stock\Action\Full $productStockIndexerFull
 
-      */
 
-     public function __construct(
 
-         \Magento\CatalogInventory\Model\Indexer\Stock\Action\Row $productStockIndexerRow,
 
-         \Magento\CatalogInventory\Model\Indexer\Stock\Action\Rows $productStockIndexerRows,
 
-         \Magento\CatalogInventory\Model\Indexer\Stock\Action\Full $productStockIndexerFull
 
-     ) {
 
-         $this->_productStockIndexerRow = $productStockIndexerRow;
 
-         $this->_productStockIndexerRows = $productStockIndexerRows;
 
-         $this->_productStockIndexerFull = $productStockIndexerFull;
 
-     }
 
-     /**
 
-      * Execute materialization on ids entities
 
-      *
 
-      * @param int[] $ids
 
-      *
 
-      * @return void
 
-      */
 
-     public function execute($ids)
 
-     {
 
-         $this->_productStockIndexerRows->execute($ids);
 
-         $this->getCacheContext()->registerEntities(\Magento\Catalog\Model\Product::CACHE_TAG, $ids);
 
-     }
 
-     /**
 
-      * Execute full indexation
 
-      *
 
-      * @return void
 
-      */
 
-     public function executeFull()
 
-     {
 
-         $this->_productStockIndexerFull->execute();
 
-         $this->getCacheContext()->registerTags(
 
-             [
 
-                 \Magento\Catalog\Model\Category::CACHE_TAG,
 
-                 \Magento\Catalog\Model\Product::CACHE_TAG
 
-             ]
 
-         );
 
-     }
 
-     /**
 
-      * Execute partial indexation by ID list
 
-      *
 
-      * @param int[] $ids
 
-      *
 
-      * @return void
 
-      */
 
-     public function executeList(array $ids)
 
-     {
 
-         $this->_productStockIndexerRows->execute($ids);
 
-     }
 
-     /**
 
-      * Execute partial indexation by ID
 
-      *
 
-      * @param int $id
 
-      *
 
-      * @return void
 
-      */
 
-     public function executeRow($id)
 
-     {
 
-         $this->_productStockIndexerRow->execute($id);
 
-     }
 
-     /**
 
-      * Get cache context
 
-      *
 
-      * @return \Magento\Framework\Indexer\CacheContext
 
-      * @deprecated 100.0.7
 
-      */
 
-     protected function getCacheContext()
 
-     {
 
-         if (!($this->cacheContext instanceof CacheContext)) {
 
-             return \Magento\Framework\App\ObjectManager::getInstance()->get(CacheContext::class);
 
-         } else {
 
-             return $this->cacheContext;
 
-         }
 
-     }
 
- }
 
 
  |