From 754e1f5d4221d712c1cd8cfed97bfe60a7582c03 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Sun, 27 Nov 2016 18:11:27 +0100 Subject: [PATCH] #6017 throwing an `ORMInvalidArgumentException` when clearing with non-string data. Also removing duplicate null checking --- lib/Doctrine/ORM/UnitOfWork.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/UnitOfWork.php b/lib/Doctrine/ORM/UnitOfWork.php index 8fbac956d..e2f0616e8 100644 --- a/lib/Doctrine/ORM/UnitOfWork.php +++ b/lib/Doctrine/ORM/UnitOfWork.php @@ -2360,13 +2360,11 @@ class UnitOfWork implements PropertyChangedListener * @param string|null $entityName if given, only entities of this type will get detached. * * @return void + * + * @throws ORMInvalidArgumentException if an invalid entity name is given */ public function clear($entityName = null) { - if ($entityName !== null && !is_string($entityName)) { - throw ORMException::invalidEntityName($entityName); - } - if ($entityName === null) { $this->identityMap = $this->entityIdentifiers = @@ -2384,6 +2382,10 @@ class UnitOfWork implements PropertyChangedListener $this->visitedCollections = $this->orphanRemovals = array(); } else { + if (! is_string($entityName)) { + throw ORMInvalidArgumentException::invalidEntityName($entityName); + } + $this->clearIdentityMapForEntityName($entityName); $this->clearEntityInsertionsForEntityName($entityName); }