From eec5269d8f2c1d04e7c04bf6ea6f7c22c04d5c40 Mon Sep 17 00:00:00 2001 From: soyuka Date: Wed, 7 Apr 2021 17:06:31 +0200 Subject: [PATCH] Fix phpstan --- phpstan.neon.dist | 2 -- .../Orm/Extension/FilterEagerLoadingExtension.php | 1 + src/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php | 1 + tests/Behat/DoctrineContext.php | 9 +++++---- tests/Bridge/Symfony/Bundle/Test/ApiTestCaseTest.php | 1 + tests/Bridge/Symfony/Bundle/Test/ClientTest.php | 1 + .../Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php | 1 + 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 744d2b0d3f4..f9a17a2f633 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -39,8 +39,6 @@ parameters: PHPUnit\Framework\Constraint\Constraint: - fail ignoreErrors: - # Real problems, hard to fix - - '#Parameter \#2 \$dqlPart of method Doctrine\\ORM\\QueryBuilder::add\(\) expects array\|object, string given\.#' # False positives - message: '#Strict comparison using !== between .+ and .+ will always evaluate to false\.#' diff --git a/src/Bridge/Doctrine/Orm/Extension/FilterEagerLoadingExtension.php b/src/Bridge/Doctrine/Orm/Extension/FilterEagerLoadingExtension.php index 9901e35d310..32e144f4aad 100644 --- a/src/Bridge/Doctrine/Orm/Extension/FilterEagerLoadingExtension.php +++ b/src/Bridge/Doctrine/Orm/Extension/FilterEagerLoadingExtension.php @@ -150,6 +150,7 @@ private function getQueryBuilderWithNewAliases(QueryBuilder $queryBuilder, Query $replacements[] = "$newAlias."; $condition = str_replace($aliases, $replacements, $joinPart->getCondition()); $join = new Join($joinPart->getJoinType(), $joinPart->getJoin(), $newAlias, $joinPart->getConditionType(), $condition); + /* @phpstan-ignore-next-line */ $queryBuilderClone->add('join', [$replacement => $join], true); } diff --git a/src/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php b/src/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php index 10b77d65aab..b73334dffbc 100644 --- a/src/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php +++ b/src/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php @@ -186,6 +186,7 @@ public static function getExistingJoin(QueryBuilder $queryBuilder, string $alias */ private static function mapRootAliases(array $rootAliases, array $rootEntities): array { + /** @var false|array $aliasMap */ $aliasMap = array_combine($rootAliases, $rootEntities); if (false === $aliasMap) { throw new \LogicException('Number of root aliases and root entities do not match.'); diff --git a/tests/Behat/DoctrineContext.php b/tests/Behat/DoctrineContext.php index f5fd9ac01fb..ab42b22f050 100644 --- a/tests/Behat/DoctrineContext.php +++ b/tests/Behat/DoctrineContext.php @@ -182,7 +182,6 @@ final class DoctrineContext implements Context private $passwordEncoder; private $schemaTool; private $schemaManager; - private $classes; /** * Initializes context. @@ -198,7 +197,6 @@ public function __construct(ManagerRegistry $doctrine, UserPasswordEncoderInterf $this->manager = $doctrine->getManager(); $this->schemaTool = $this->manager instanceof EntityManagerInterface ? new SchemaTool($this->manager) : null; $this->schemaManager = $this->manager instanceof DocumentManager ? $this->manager->getSchemaManager() : null; - $this->classes = $this->manager->getMetadataFactory()->getAllMetadata(); } /** @@ -206,9 +204,12 @@ public function __construct(ManagerRegistry $doctrine, UserPasswordEncoderInterf */ public function createDatabase() { + /** @var \Doctrine\ORM\Mapping\ClassMetadata[] $classes */ + $classes = $this->manager->getMetadataFactory()->getAllMetadata(); + if ($this->isOrm()) { - $this->schemaTool->dropSchema($this->classes); - $this->schemaTool->createSchema($this->classes); + $this->schemaTool->dropSchema($classes); + $this->schemaTool->createSchema($classes); } if ($this->isOdm()) { diff --git a/tests/Bridge/Symfony/Bundle/Test/ApiTestCaseTest.php b/tests/Bridge/Symfony/Bundle/Test/ApiTestCaseTest.php index 26c7547780c..7d8e3c37ecb 100644 --- a/tests/Bridge/Symfony/Bundle/Test/ApiTestCaseTest.php +++ b/tests/Bridge/Symfony/Bundle/Test/ApiTestCaseTest.php @@ -165,6 +165,7 @@ public function testFindIriBy(): void * @var EntityManagerInterface */ $manager = self::$container->get('doctrine')->getManager(); + /** @var \Doctrine\ORM\Mapping\ClassMetadata[] $classes */ $classes = $manager->getMetadataFactory()->getAllMetadata(); $schemaTool = new SchemaTool($manager); diff --git a/tests/Bridge/Symfony/Bundle/Test/ClientTest.php b/tests/Bridge/Symfony/Bundle/Test/ClientTest.php index c68e34dbf12..e91c70c4965 100644 --- a/tests/Bridge/Symfony/Bundle/Test/ClientTest.php +++ b/tests/Bridge/Symfony/Bundle/Test/ClientTest.php @@ -29,6 +29,7 @@ protected function setUp(): void * @var EntityManagerInterface */ $manager = self::$container->get('doctrine')->getManager(); + /** @var \Doctrine\ORM\Mapping\ClassMetadata[] $classes */ $classes = $manager->getMetadataFactory()->getAllMetadata(); $schemaTool = new SchemaTool($manager); diff --git a/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php b/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php index 3ea58ad0f04..b1d6932627e 100644 --- a/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php +++ b/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php @@ -50,6 +50,7 @@ protected function setUp(): void $manager = $doctrine->getManager(); $this->manager = $manager; $this->schemaTool = new SchemaTool($this->manager); + /** @var \Doctrine\ORM\Mapping\ClassMetadata[] $classes */ $classes = $this->manager->getMetadataFactory()->getAllMetadata(); $this->schemaTool->dropSchema($classes); $this->manager->clear();