diff --git a/lib/Doctrine/ORM/Configuration.php b/lib/Doctrine/ORM/Configuration.php index a7676f35220..0236b196259 100644 --- a/lib/Doctrine/ORM/Configuration.php +++ b/lib/Doctrine/ORM/Configuration.php @@ -442,6 +442,7 @@ public function addCustomStringFunction($name, $className) * @param string $name * * @return string|null + * @psalm-return ?class-string */ public function getCustomStringFunction($name) { @@ -494,6 +495,7 @@ public function addCustomNumericFunction($name, $className) * @param string $name * * @return string|null + * @psalm-return ?class-string */ public function getCustomNumericFunction($name) { @@ -534,6 +536,8 @@ public function setCustomNumericFunctions(array $functions) * @param string|callable $className Class name or a callable that returns the function. * * @return void + * + * @psalm-param class-string|callable $className */ public function addCustomDatetimeFunction($name, $className) { @@ -546,6 +550,8 @@ public function addCustomDatetimeFunction($name, $className) * @param string $name * * @return string|null + * + * @psalm-return ?class-string $name */ public function getCustomDatetimeFunction($name) { @@ -567,6 +573,8 @@ public function getCustomDatetimeFunction($name) * @param array $functions The map of custom DQL date/time functions. * * @return void + * + * @psalm-param array $functions */ public function setCustomDatetimeFunctions(array $functions) { @@ -597,6 +605,8 @@ public function setCustomHydrationModes($modes) * @param string $modeName The hydration mode name. * * @return string|null The hydrator class name. + * + * @psalm-return ?class-string */ public function getCustomHydrationMode($modeName) { @@ -624,6 +634,8 @@ public function addCustomHydrationMode($modeName, $hydrator) * @param string $cmfName * * @return void + * + * @psalm-param class-string $cmfName */ public function setClassMetadataFactoryName($cmfName) { @@ -632,6 +644,8 @@ public function setClassMetadataFactoryName($cmfName) /** * @return string + * + * @psalm-return class-string */ public function getClassMetadataFactoryName() { @@ -658,8 +672,10 @@ public function addFilter($name, $className) * * @param string $name The name of the filter. * - * @return string The class name of the filter, or null if it is not + * @return string|null The class name of the filter, or null if it is not * defined. + * + * @psalm-return ?class-string */ public function getFilterClassName($name) { @@ -696,6 +712,8 @@ public function setDefaultRepositoryClassName($className) * @since 2.2 * * @return string + * + * @psalm-return class-string */ public function getDefaultRepositoryClassName() { diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 94987d5fb84..b78e2d980c4 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -252,7 +252,8 @@ class ClassMetadataInfo implements ClassMetadata * The name of the custom repository class used for the entity class. * (Optional). * - * @var string + * @var string|null + * @psalm-var ?class-string */ public $customRepositoryClassName; @@ -2626,6 +2627,8 @@ protected function _storeAssociationMapping(array $assocMapping) * @param string $repositoryClassName The class name of the custom mapper. * * @return void + * + * @psalm-param class-string $repositoryClassName */ public function setCustomRepositoryClass($repositoryClassName) { @@ -3254,6 +3257,8 @@ public function getAssociationsByTargetClass($targetClass) * @param string|null $className * * @return string|null null if the input value is null + * + * @psalm-param ?class-string $className */ public function fullyQualifiedClassName($className) { diff --git a/lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php b/lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php index a8ee2dc783d..ee3e37a32a8 100644 --- a/lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php +++ b/lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php @@ -30,6 +30,8 @@ class DefaultEntityListenerResolver implements EntityListenerResolver { /** * @var array Map to store entity listener instances. + * + * @psalm-var array */ private $instances = []; diff --git a/lib/Doctrine/ORM/Mapping/EntityListenerResolver.php b/lib/Doctrine/ORM/Mapping/EntityListenerResolver.php index b0c62c8c3a3..d3a41af994f 100644 --- a/lib/Doctrine/ORM/Mapping/EntityListenerResolver.php +++ b/lib/Doctrine/ORM/Mapping/EntityListenerResolver.php @@ -34,6 +34,8 @@ interface EntityListenerResolver * @param string $className The fully-qualified class name * * @return void + * + * @psalm-param class-string $className */ function clear($className = null); @@ -43,6 +45,8 @@ function clear($className = null); * @param string $className The fully-qualified class name * * @return object An entity listener + * + * @psalm-param class-string $className */ function resolve($className); diff --git a/lib/Doctrine/ORM/Query/FilterCollection.php b/lib/Doctrine/ORM/Query/FilterCollection.php index ca7f1ac3289..c5f627e8396 100644 --- a/lib/Doctrine/ORM/Query/FilterCollection.php +++ b/lib/Doctrine/ORM/Query/FilterCollection.php @@ -20,6 +20,7 @@ namespace Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; +use function assert; /** * Collection class for all the query filters. @@ -110,6 +111,8 @@ public function enable($name) if ( ! $this->isEnabled($name)) { $filterClass = $this->config->getFilterClassName($name); + assert($filterClass !== null); + $this->enabledFilters[$name] = new $filterClass($this->em); // Keep the enabled filters sorted for the hash diff --git a/lib/Doctrine/ORM/Query/Parser.php b/lib/Doctrine/ORM/Query/Parser.php index d0170792604..c3de92a124d 100644 --- a/lib/Doctrine/ORM/Query/Parser.php +++ b/lib/Doctrine/ORM/Query/Parser.php @@ -42,6 +42,8 @@ class Parser * READ-ONLY: Maps BUILT-IN string function names to AST class names. * * @var array + * + * @psalm-var class-string */ private static $_STRING_FUNCTIONS = [ 'concat' => Functions\ConcatFunction::class, @@ -56,6 +58,8 @@ class Parser * READ-ONLY: Maps BUILT-IN numeric function names to AST class names. * * @var array + * + * @psalm-var class-string */ private static $_NUMERIC_FUNCTIONS = [ 'length' => Functions\LengthFunction::class, @@ -80,6 +84,8 @@ class Parser * READ-ONLY: Maps BUILT-IN datetime function names to AST class names. * * @var array + * + * @psalm-var class-string */ private static $_DATETIME_FUNCTIONS = [ 'current_date' => Functions\CurrentDateFunction::class, diff --git a/lib/Doctrine/ORM/Query/SqlWalker.php b/lib/Doctrine/ORM/Query/SqlWalker.php index 0749fb715dd..b25df759103 100644 --- a/lib/Doctrine/ORM/Query/SqlWalker.php +++ b/lib/Doctrine/ORM/Query/SqlWalker.php @@ -142,6 +142,8 @@ class SqlWalker implements TreeWalker * Map of all components/classes that appear in the DQL query. * * @var array + * + * @psalm-var array */ private $queryComponents; @@ -199,7 +201,7 @@ public function __construct($query, $parserResult, array $queryComponents) /** * Gets the Query instance used by the walker. * - * @return Query. + * @return Query */ public function getQuery() { @@ -232,6 +234,8 @@ public function getEntityManager() * @param string $dqlAlias The DQL alias. * * @return array + * + * @psalm-return array{metadata: ClassMetadata} */ public function getQueryComponent($dqlAlias) { @@ -1522,7 +1526,7 @@ public function walkSimpleSelectClause($simpleSelectClause) /** * @param \Doctrine\ORM\Query\AST\ParenthesisExpression $parenthesisExpression * - * @return string. + * @return string */ public function walkParenthesisExpression(AST\ParenthesisExpression $parenthesisExpression) { diff --git a/lib/Doctrine/ORM/Tools/Console/MetadataFilter.php b/lib/Doctrine/ORM/Tools/Console/MetadataFilter.php index 88357e35c94..f0c5669a31e 100644 --- a/lib/Doctrine/ORM/Tools/Console/MetadataFilter.php +++ b/lib/Doctrine/ORM/Tools/Console/MetadataFilter.php @@ -19,6 +19,8 @@ namespace Doctrine\ORM\Tools\Console; +use Doctrine\Common\Persistence\Mapping\ClassMetadata; + /** * Used by CLI Tools to restrict entity-based commands to given patterns. * @@ -40,10 +42,10 @@ class MetadataFilter extends \FilterIterator implements \Countable /** * Filter Metadatas by one or more filter options. * - * @param array $metadatas - * @param array|string $filter + * @param ClassMetadata[] $metadatas + * @param string[]|string $filter * - * @return array + * @return ClassMetadata[] */ static public function filter(array $metadatas, $filter) { diff --git a/lib/Doctrine/ORM/Tools/EntityGenerator.php b/lib/Doctrine/ORM/Tools/EntityGenerator.php index be8d87803b0..fcc9d6fc25f 100644 --- a/lib/Doctrine/ORM/Tools/EntityGenerator.php +++ b/lib/Doctrine/ORM/Tools/EntityGenerator.php @@ -149,7 +149,7 @@ class EntityGenerator /** * Whether or not to make generated embeddables immutable. * - * @var boolean. + * @var bool */ protected $embeddablesImmutable = false; diff --git a/lib/Doctrine/ORM/UnitOfWork.php b/lib/Doctrine/ORM/UnitOfWork.php index 77b42cca287..3383a44b0c9 100644 --- a/lib/Doctrine/ORM/UnitOfWork.php +++ b/lib/Doctrine/ORM/UnitOfWork.php @@ -1893,7 +1893,7 @@ public function merge($entity) * @param object $entity * @param array $visited * @param object|null $prevManagedCopy - * @param array|null $assoc + * @param string[] $assoc * * @return object The managed copy of the entity. *