diff --git a/lib/Doctrine/ODM/MongoDB/Aggregation/Aggregation.php b/lib/Doctrine/ODM/MongoDB/Aggregation/Aggregation.php index 32379a82ca..013e7e1bdd 100644 --- a/lib/Doctrine/ODM/MongoDB/Aggregation/Aggregation.php +++ b/lib/Doctrine/ODM/MongoDB/Aggregation/Aggregation.php @@ -11,12 +11,10 @@ use Doctrine\ODM\MongoDB\Iterator\Iterator; use Doctrine\ODM\MongoDB\Iterator\UnrewindableIterator; use Doctrine\ODM\MongoDB\Mapping\ClassMetadata; -use Iterator as SPLIterator; use MongoDB\Collection; use MongoDB\Driver\CursorInterface; use function array_merge; -use function assert; /** @phpstan-import-type PipelineExpression from Builder */ final class Aggregation implements IterableResult @@ -56,14 +54,11 @@ public function getIterator(): Iterator $options = array_merge($this->options, ['cursor' => true]); $cursor = $this->collection->aggregate($this->pipeline, $options); - // This assertion can be dropped when requiring mongodb/mongodb 1.17.0 - assert($cursor instanceof CursorInterface); - assert($cursor instanceof SPLIterator); return $this->prepareIterator($cursor); } - private function prepareIterator(CursorInterface&SPLIterator $cursor): Iterator + private function prepareIterator(CursorInterface $cursor): Iterator { if ($this->classMetadata) { $cursor = new HydratingIterator($cursor, $this->dm->getUnitOfWork(), $this->classMetadata); diff --git a/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php b/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php index d46285b987..44cef23070 100644 --- a/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php +++ b/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php @@ -29,7 +29,6 @@ use Doctrine\ODM\MongoDB\Utility\CollectionHelper; use Doctrine\Persistence\Mapping\MappingException; use InvalidArgumentException; -use Iterator as SplIterator; use MongoDB\BSON\ObjectId; use MongoDB\Collection; use MongoDB\Driver\CursorInterface; @@ -333,8 +332,8 @@ private function executeUpsert(object $document, array $options): void $data = ['$set' => ['_id' => $criteria['_id']]]; } + assert($this->collection instanceof Collection); try { - assert($this->collection instanceof Collection); $this->collection->updateOne($criteria, $data, $options); return; @@ -344,7 +343,6 @@ private function executeUpsert(object $document, array $options): void } } - assert($this->collection instanceof Collection); $this->collection->updateOne($criteria, ['$set' => new stdClass()], $options); } @@ -544,8 +542,6 @@ public function loadAll(array $criteria = [], ?array $sort = null, ?int $limit = assert($this->collection instanceof Collection); $baseCursor = $this->collection->find($criteria, $options); - assert($baseCursor instanceof CursorInterface && $baseCursor instanceof SplIterator); - return $this->wrapCursor($baseCursor); } @@ -592,7 +588,7 @@ private function getShardKeyQuery(object $document): array /** * Wraps the supplied base cursor in the corresponding ODM class. */ - private function wrapCursor(SplIterator&CursorInterface $baseCursor): Iterator + private function wrapCursor(CursorInterface $baseCursor): Iterator { return new CachingIterator(new HydratingIterator($baseCursor, $this->dm->getUnitOfWork(), $this->class)); }