diff --git a/stubs/EntityManagerInterface.stub b/stubs/EntityManagerInterface.stub index 1f76e18f..8ab8db8a 100644 --- a/stubs/EntityManagerInterface.stub +++ b/stubs/EntityManagerInterface.stub @@ -60,11 +60,20 @@ interface EntityManagerInterface extends ObjectManager */ public function copy($entity, $deep = false); - /** - * @template T of object - * @phpstan-param class-string $className - * - * @phpstan-return ClassMetadata - */ - public function getClassMetadata($className); + /** + * @return void + * + * @throws ORMException + * @throws \Doctrine\DBAL\Exception\UniqueConstraintViolationException + */ + public function flush(); + + /** + * @template T of object + * @phpstan-param class-string $className + * + * @phpstan-return ClassMetadata + */ + public function getClassMetadata($className); + } diff --git a/tests/Rules/Exceptions/data/unthrown-exception.php b/tests/Rules/Exceptions/data/unthrown-exception.php index ecc1f522..c69e2b48 100644 --- a/tests/Rules/Exceptions/data/unthrown-exception.php +++ b/tests/Rules/Exceptions/data/unthrown-exception.php @@ -8,6 +8,9 @@ class FooFacade /** @var \Doctrine\ORM\EntityManager */ private $entityManager; + /** @var \Doctrine\ORM\EntityManagerInterface */ + private $entityManagerInterface; + public function doFoo(): void { try { @@ -15,6 +18,11 @@ public function doFoo(): void } catch (\Doctrine\DBAL\Exception\UniqueConstraintViolationException $e) { // pass } + try { + $this->entityManagerInterface->flush(); + } catch (\Doctrine\DBAL\Exception\UniqueConstraintViolationException $e) { + // pass + } } }