Skip to content

Commit 16cb23a

Browse files
committed
Do not crash with AnnotationException
1 parent 5fa8fef commit 16cb23a

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

src/Doctrine/Mapping/MappingDriverChain.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace PHPStan\Doctrine\Mapping;
44

5+
use Doctrine\Common\Annotations\AnnotationException;
56
use Doctrine\ORM\Mapping\MappingException;
67
use Doctrine\Persistence\Mapping\ClassMetadata;
78
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
@@ -29,7 +30,7 @@ public function loadMetadataForClass($className, ClassMetadata $metadata): void
2930
try {
3031
$driver->loadMetadataForClass($className, $metadata);
3132
return;
32-
} catch (MappingException $e) {
33+
} catch (MappingException | AnnotationException $e) {
3334
// pass
3435
}
3536
}

src/Rules/Doctrine/ORM/EntityMappingExceptionRule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace PHPStan\Rules\Doctrine\ORM;
44

5+
use Doctrine\Common\Annotations\AnnotationException;
56
use Doctrine\ORM\Mapping\MappingException;
67
use PhpParser\Node;
78
use PHPStan\Analyser\Scope;
@@ -54,7 +55,7 @@ public function processNode(Node $node, Scope $scope): array
5455

5556
try {
5657
$objectManager->getClassMetadata($className);
57-
} catch (MappingException $e) {
58+
} catch (MappingException | AnnotationException $e) {
5859
return [$e->getMessage()];
5960
}
6061

src/Type/Doctrine/GetRepositoryDynamicReturnTypeExtension.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace PHPStan\Type\Doctrine;
44

5+
use Doctrine\Common\Annotations\AnnotationException;
56
use Doctrine\ODM\MongoDB\DocumentManager;
67
use Doctrine\ODM\MongoDB\Mapping\ClassMetadata;
78
use Doctrine\ODM\MongoDB\Repository\DocumentRepository;
@@ -109,7 +110,7 @@ public function getTypeFromMethodCall(
109110

110111
try {
111112
$repositoryClass = $this->getRepositoryClass($objectName, $defaultRepositoryClass);
112-
} catch (MappingException $e) {
113+
} catch (MappingException | AnnotationException $e) {
113114
return $this->getDefaultReturnType($scope, $methodCall->getArgs(), $methodReflection, $defaultRepositoryClass);
114115
}
115116

src/Type/Doctrine/ObjectMetadataResolver.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace PHPStan\Type\Doctrine;
44

5+
use Doctrine\Common\Annotations\AnnotationException;
56
use Doctrine\ORM\Mapping\ClassMetadata;
67
use Doctrine\ORM\Mapping\ClassMetadataInfo;
78
use Doctrine\ORM\Mapping\MappingException;
@@ -110,7 +111,7 @@ public function getClassMetadata(string $className): ?ClassMetadataInfo
110111
} else {
111112
$metadata = $objectManager->getClassMetadata($className);
112113
}
113-
} catch (MappingException $e) {
114+
} catch (MappingException | AnnotationException $e) {
114115
return null;
115116
}
116117

0 commit comments

Comments
 (0)