From a772e5e138d8d11cb5381dc7b4ee1558fb60b73a Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Fri, 9 Oct 2026 22:40:15 +0200 Subject: [PATCH] Restore intentional @ forbiddenNode ignores, drop stale symplify ignores --- phpstan.neon | 60 +++++++++++----------------------------------------- 1 file changed, 12 insertions(+), 48 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 0081acb6394..696ae493dfd 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -7,7 +7,6 @@ rules: parameters: level: 8 - reportUnmatchedIgnoredErrors: false errorFormat: symplify # see https://phpstan.org/writing-php-code/phpdoc-types#global-type-aliases @@ -324,42 +323,23 @@ parameters: # it may return array in case of empty array( , , ), very rare and would nullify all other types - '#Method Rector\\PhpParser\\NodeTraverser\\RectorNodeTraverser\:\:traverseArray\(\) should return array but returns array#' - # checks for rector always autoloaded rules only - - - identifier: symplify.forbiddenFuncCall - message: '#Function "(class_exists|interface_exists)\(\)" cannot be used/left in the code\: use ReflectionProvider\->has\*\(\) instead#' - paths: - - src/Skipper/SkipCriteriaResolver/SkippedClassResolver.php - - - - identifier: symplify.noConstructorOverride - path: src/StaticTypeMapper/ValueObject/Type/SimpleStaticType.php - - # dynamic printer + # native filesystem calls, required for performance reasons - - identifier: symplify.noDynamicName - message: '#Use explicit names over dynamic ones#' - paths: - - src/CustomRules/SimpleNodeDumper.php - - src/PhpDocParser/PhpDocParser/PhpDocNodeTraverser.php + identifier: symplify.forbiddenNode + message: '#@(.*?) is forbidden to use#' + path: src/Caching/ValueObject/Storage/FileCacheStorage.php - # copied from /vendor, to keep as original as possible - - identifier: symplify.noDynamicName - path: src/PhpParser/NodeTraverser/RectorNodeTraverser.php + identifier: symplify.forbiddenNode + message: '#@\\ini_set\(.*\)" is forbidden to use#' + path: bin/rector.php + # checks for rector always autoloaded rules only - - identifier: symplify.noReference - message: '#Use explicit return value over magic &reference#' + identifier: symplify.forbiddenFuncCall + message: '#Function "(class_exists|interface_exists)\(\)" cannot be used/left in the code\: use ReflectionProvider\->has\*\(\) instead#' paths: - - src/PhpDocParser/PhpDocParser/PhpDocNodeTraverser.php - - rules/Php70/EregToPcreTransformer.php - - src/BetterPhpDocParser/PhpDocManipulator/PhpDocClassRenamer.php - - src/NodeTypeResolver/PHPStan/Type/TypeFactory.php - - - - identifier: symplify.noReference - message: '#Use explicit return value over magic &reference#' + - src/Skipper/SkipCriteriaResolver/SkippedClassResolver.php # fixture Rector rules - @@ -375,20 +355,4 @@ parameters: # known types - identifier: varTag.nativeType - path: src/BetterPhpDocParser/PhpDocParser/StaticDoctrineAnnotationParser.php - - - - - identifier: symplify.noNullableServiceInConstructor - paths: - - src/NodeTypeResolver/PHPStan/ObjectWithoutClassTypeWithParentTypes.php - - - identifier: symplify.commandHasAsCommandAttribute - paths: - - src/Console/Command/ValidateConfigCommand.php - - src/Console/Command/WorkerCommand.php - - src/Console/Command/ProcessCommand.php - - src/Console/Command/ListRulesCommand.php - - src/Console/Command/CustomRuleCommand.php - - src/Console/Command/ComposerBasedCommand.php - - src/Console/Command/SetupCICommand.php \ No newline at end of file + path: src/BetterPhpDocParser/PhpDocParser/StaticDoctrineAnnotationParser.php \ No newline at end of file