Skip to content

Commit 88def91

Browse files
committed
Remove direct use of ORM and ODM for composer-require-checker
1 parent ac0c49e commit 88def91

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"require": {
1313
"php": "~7.1",
1414
"phpstan/phpstan": "^0.11",
15-
"nikic/php-parser": "^4.0"
15+
"nikic/php-parser": "^4.0",
16+
"doctrine/persistence": "^1.1"
1617
},
1718
"require-dev": {
1819
"consistence/coding-standard": "^3.0.1",

src/Type/Doctrine/ObjectMetadataResolver.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
namespace PHPStan\Type\Doctrine;
44

55
use Doctrine\Common\Persistence\ObjectManager;
6-
use Doctrine\ODM\MongoDB\Mapping\ClassMetadata as ODMMetadata;
7-
use Doctrine\ORM\Mapping\ClassMetadata as ORMMetadata;
86
use RuntimeException;
97
use function file_exists;
108
use function is_readable;
@@ -49,12 +47,18 @@ public function getRepositoryClass(string $className): string
4947

5048
$metadata = $this->objectManager->getClassMetadata($className);
5149

52-
if ($metadata instanceof ORMMetadata) {
53-
return $metadata->customRepositoryClassName ?? $this->repositoryClass;
50+
$ormMetadataClass = 'Doctrine\ORM\Mapping\ClassMetadata';
51+
if ($metadata instanceof $ormMetadataClass) {
52+
/** @var \Doctrine\ORM\Mapping\ClassMetadata $ormMetadata */
53+
$ormMetadata = $metadata;
54+
return $ormMetadata->customRepositoryClassName ?? $this->repositoryClass;
5455
}
5556

56-
if ($metadata instanceof ODMMetadata) {
57-
return $metadata->customRepositoryClassName ?? $this->repositoryClass;
57+
$odmMetadataClass = 'Doctrine\ODM\MongoDB\Mapping\ClassMetadata';
58+
if ($metadata instanceof $odmMetadataClass) {
59+
/** @var \Doctrine\ODM\MongoDB\Mapping\ClassMetadata $odmMetadata */
60+
$odmMetadata = $metadata;
61+
return $odmMetadata->customRepositoryClassName ?? $this->repositoryClass;
5862
}
5963

6064
return $this->repositoryClass;

0 commit comments

Comments
 (0)