diff --git a/composer.json b/composer.json index 717a9bb26..956e71bd4 100644 --- a/composer.json +++ b/composer.json @@ -35,11 +35,11 @@ "nette/tester": "dev-master", "mockery/mockery": ">=1.5.1", "phpstan/extension-installer": "1.4.3", - "phpstan/phpstan": "2.1.46", + "phpstan/phpstan": "2.2.5", "phpstan/phpstan-deprecation-rules": "2.0.4", - "phpstan/phpstan-nette": "2.0.9", + "phpstan/phpstan-nette": "2.0.12", "phpstan/phpstan-mockery": "2.0.0", - "phpstan/phpstan-strict-rules": "2.0.10", + "phpstan/phpstan-strict-rules": "2.0.11", "nextras/multi-query-parser": "~2.0", "nextras/orm-phpstan": "^2.0.0", "tracy/tracy": "~2.3" diff --git a/src/Bridges/NetteDI/RepositoryLoader.php b/src/Bridges/NetteDI/RepositoryLoader.php index 2a9fafa97..758ca615e 100644 --- a/src/Bridges/NetteDI/RepositoryLoader.php +++ b/src/Bridges/NetteDI/RepositoryLoader.php @@ -30,7 +30,7 @@ public function hasRepository(string $className): bool /** * Returns instance of repository. - * @template R of IRepository + * @template R of IRepository<*> * @param class-string $className * @return R */ diff --git a/src/Collection/Helpers/ArrayCollectionHelper.php b/src/Collection/Helpers/ArrayCollectionHelper.php index 4c8cf59b0..3c41400da 100644 --- a/src/Collection/Helpers/ArrayCollectionHelper.php +++ b/src/Collection/Helpers/ArrayCollectionHelper.php @@ -22,7 +22,7 @@ class ArrayCollectionHelper { /** - * @param IRepository $repository + * @param IRepository<*> $repository */ public function __construct( private readonly IRepository $repository, diff --git a/src/Entity/AbstractEntity.php b/src/Entity/AbstractEntity.php index 6425cc487..3d476dd44 100644 --- a/src/Entity/AbstractEntity.php +++ b/src/Entity/AbstractEntity.php @@ -470,6 +470,7 @@ protected function initProperty(PropertyMetadata $metadata, string $name, bool $ private function createPropertyWrapper(PropertyMetadata $metadata): IProperty { $class = $metadata->wrapper; + assert($class !== null); $wrapper = new $class($metadata); assert($wrapper instanceof IProperty); diff --git a/src/Entity/Embeddable/Embeddable.php b/src/Entity/Embeddable/Embeddable.php index 1bd4088aa..52bde56bd 100644 --- a/src/Entity/Embeddable/Embeddable.php +++ b/src/Entity/Embeddable/Embeddable.php @@ -144,6 +144,7 @@ protected function initProperty(PropertyMetadata $metadata, string $name, bool $ private function createPropertyWrapper(PropertyMetadata $metadata): IProperty { $class = $metadata->wrapper; + assert($class !== null); $wrapper = new $class($metadata); assert($wrapper instanceof IProperty); diff --git a/src/Entity/Reflection/ModifierParser.php b/src/Entity/Reflection/ModifierParser.php index 51848a16d..88a86c89f 100644 --- a/src/Entity/Reflection/ModifierParser.php +++ b/src/Entity/Reflection/ModifierParser.php @@ -113,7 +113,6 @@ private function processArgs( } elseif ($nextTokenType === Token::STRING || $nextTokenType === Token::KEYWORD) { $value = $this->processValue($currentToken, $reflectionClass); assert(!is_array($value)); - assert($nextToken !== null); $result[$value] = $this->processValue($nextToken, $reflectionClass); } elseif ($nextTokenType !== null) { throw new InvalidModifierDefinitionException("Modifier {{$modifierName}} has invalid token after =."); diff --git a/src/Mapper/IMapper.php b/src/Mapper/IMapper.php index c110bee51..de6f01491 100644 --- a/src/Mapper/IMapper.php +++ b/src/Mapper/IMapper.php @@ -23,14 +23,14 @@ public function findAll(): ICollection; /** * Creates collection with HasOne mapper. - * @return ICollection + * @return ICollection */ public function createCollectionManyHasOne(PropertyMetadata $metadata): ICollection; /** * Creates a collection with OneHasOneDirected mapper. - * @return ICollection + * @return ICollection */ public function createCollectionOneHasOne(PropertyMetadata $metadata): ICollection; @@ -38,14 +38,14 @@ public function createCollectionOneHasOne(PropertyMetadata $metadata): ICollecti /** * Creates collection with ManyHasMany mapper. * @param IMapper $sourceMapper - * @return ICollection + * @return ICollection */ public function createCollectionManyHasMany(IMapper $sourceMapper, PropertyMetadata $metadata): ICollection; /** * Creates collection with OneHasMany mapper. - * @return ICollection + * @return ICollection */ public function createCollectionOneHasMany(PropertyMetadata $metadata): ICollection; diff --git a/src/Mapper/Memory/ArrayMapper.php b/src/Mapper/Memory/ArrayMapper.php index b90d6f4ee..79eca460f 100644 --- a/src/Mapper/Memory/ArrayMapper.php +++ b/src/Mapper/Memory/ArrayMapper.php @@ -34,7 +34,7 @@ abstract class ArrayMapper implements IMapper protected IConventions|null $conventions = null; - /** @var IRepository|null */ + /** @var IRepository|null */ private IRepository|null $repository = null; /** @var resource|null */ diff --git a/src/Model/IRepositoryLoader.php b/src/Model/IRepositoryLoader.php index 9768c81b8..a5bf432bd 100644 --- a/src/Model/IRepositoryLoader.php +++ b/src/Model/IRepositoryLoader.php @@ -18,7 +18,7 @@ public function hasRepository(string $className): bool; /** * Returns instance of repository. - * @template T of IRepository + * @template T of IRepository<*> * @param class-string $className * @return T */ diff --git a/src/Model/Model.php b/src/Model/Model.php index a42029e7a..689840846 100644 --- a/src/Model/Model.php +++ b/src/Model/Model.php @@ -28,7 +28,7 @@ class Model implements IModel /** * Creates repository list configuration. - * @param array>|IRepository> $repositories + * @param array>|IRepository<*>> $repositories * @return array{ * array>, true>, * array>>, diff --git a/src/Model/SimpleRepositoryLoader.php b/src/Model/SimpleRepositoryLoader.php index d4aae9a20..d7dfc659b 100644 --- a/src/Model/SimpleRepositoryLoader.php +++ b/src/Model/SimpleRepositoryLoader.php @@ -10,12 +10,12 @@ class SimpleRepositoryLoader implements IRepositoryLoader { - /** @var array>, IRepository> */ + /** @var array>, IRepository<*>> */ private array $repositories = []; /** - * @param list> $repositories + * @param list> $repositories */ public function __construct(array $repositories) { @@ -33,7 +33,7 @@ public function hasRepository(string $className): bool /** * Returns instance of repository. - * @template T of IRepository + * @template T of IRepository<*> * @param class-string $className * @return T */