From fb26209e01b08bf3163f6fada4c72ad34b8716a8 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Mon, 2 Sep 2024 09:37:04 +0100 Subject: [PATCH] fix deprecations (#345) --- composer.json | 1 + phpstan.neon | 4 ++++ src/TypeAnalyzer/CollectionTypeResolver.php | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 2c8e58a3..5bd27537 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "doctrine/orm": "^2.19", "phpstan/extension-installer": "^1.4", "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", "phpstan/phpstan-webmozart-assert": "^1.2", "phpunit/phpunit": "^10.5", "rector/rector-src": "dev-main", diff --git a/phpstan.neon b/phpstan.neon index dd1c02e6..cf0f5122 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -46,3 +46,7 @@ parameters: - message: '#PHPDoc tag @return contains unresolvable type#' path: rules/CodeQuality/Contract/PropertyAttributeTransformerInterface.php + + # needed for instanceof method API + - '#Doing instanceof PHPStan\\Type\\ObjectType is error\-prone and deprecated\. Use Type\:\:isObject\(\) or Type\:\:getObjectClassNames\(\) instead#' + - '#Doing instanceof PHPStan\\Type\\(Generic\\GenericObjectType|ArrayType) is error\-prone and deprecated#' diff --git a/src/TypeAnalyzer/CollectionTypeResolver.php b/src/TypeAnalyzer/CollectionTypeResolver.php index f6ef199f..b75de1ca 100644 --- a/src/TypeAnalyzer/CollectionTypeResolver.php +++ b/src/TypeAnalyzer/CollectionTypeResolver.php @@ -54,7 +54,7 @@ public function resolveFromTypeNode(TypeNode $typeNode, Node $node): ?FullyQuali } if ($typeNode instanceof ArrayTypeNode && $typeNode->type instanceof IdentifierTypeNode) { - $nameScope = $this->nameScopeFactory->createNameScopeFromNode($node); + $nameScope = $this->nameScopeFactory->createNameScopeFromNodeWithoutTemplateTypes($node); $fullyQualifiedName = $nameScope->resolveStringName($typeNode->type->name); return new FullyQualifiedObjectType($fullyQualifiedName); }