From 97a927011b0ca53cefa3bac08f7505d71aceb4a2 Mon Sep 17 00:00:00 2001 From: soyuka Date: Fri, 16 May 2025 13:54:19 +0200 Subject: [PATCH 1/2] chore: phpstan:^2.0 --- composer.json | 10 +++++----- phpstan.neon.dist | 3 --- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index b85f01b0023..e867325a63b 100644 --- a/composer.json +++ b/composer.json @@ -140,17 +140,17 @@ "illuminate/pagination": "^11.0 || ^12.0", "illuminate/routing": "^11.0 || ^12.0", "illuminate/support": "^11.0 || ^12.0", - "jangregor/phpstan-prophecy": "^1.0", + "jangregor/phpstan-prophecy": "^2.1.1", "justinrainbow/json-schema": "^5.2.11", "laravel/framework": "^11.0 || ^12.0", "orchestra/testbench": "^9.1", "phpspec/prophecy-phpunit": "^2.2", "phpstan/extension-installer": "^1.1", "phpstan/phpdoc-parser": "^1.29 || ^2.0", - "phpstan/phpstan": "^1.10", - "phpstan/phpstan-doctrine": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-symfony": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-doctrine": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-symfony": "^2.0", "phpunit/phpunit": "11.5.x-dev", "psr/log": "^1.0 || ^2.0 || ^3.0", "ramsey/uuid": "^4.7", diff --git a/phpstan.neon.dist b/phpstan.neon.dist index d1a6aa0bb23..6e62688230d 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -17,7 +17,6 @@ parameters: excludePaths: # uses larastan - src/Laravel - - src/Symfony/Bundle/Command/OpenApiCommand.php # Symfony config - tests/Fixtures/app/config/config_swagger.php # Symfony cache @@ -33,8 +32,6 @@ parameters: - src/Doctrine/*/vendor/* - src/*/vendor/* # Symfony 6 support - - src/OpenApi/Serializer/CacheableSupportsMethodInterface.php - - src/Serializer/CacheableSupportsMethodInterface.php - tests/Hal/Serializer/ItemNormalizerTest.php - tests/Symfony/Validator/Metadata/Property/ValidatorPropertyMetadataFactoryTest.php - src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php From 1fb9032b66369845bebb25c4baf14a06fcc8ce17 Mon Sep 17 00:00:00 2001 From: soyuka Date: Fri, 16 May 2025 14:17:37 +0200 Subject: [PATCH 2/2] chore: add phpstan baseline --- phpstan.baseline.php | 557 +++++++++++++++++++++++++++++++++++++++++++ phpstan.neon.dist | 24 +- 2 files changed, 562 insertions(+), 19 deletions(-) create mode 100644 phpstan.baseline.php diff --git a/phpstan.baseline.php b/phpstan.baseline.php new file mode 100644 index 00000000000..d314084913b --- /dev/null +++ b/phpstan.baseline.php @@ -0,0 +1,557 @@ + '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\State\\\\\\\\ProcessorInterface\' and ApiPlatform\\\\Doctrine\\\\Common\\\\State\\\\PersistProcessor will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Common/Tests/State/PersistProcessorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\State\\\\\\\\ProcessorInterface\' and ApiPlatform\\\\Doctrine\\\\Common\\\\State\\\\RemoveProcessor will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Common/Tests/State/RemoveProcessorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function method_exists\\(\\) with Doctrine\\\\ODM\\\\MongoDB\\\\Configuration and \'setMetadataCache\' will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Odm/Tests/DoctrineMongoDbOdmSetup.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Doctrine\\\\\\\\Orm\\\\\\\\Extension\\\\\\\\QueryResultCollectionExtensionInterface\' and ApiPlatform\\\\Doctrine\\\\Orm\\\\Extension\\\\PaginationExtension will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Orm/Tests/Extension/PaginationExtensionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with true will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Orm/Tests/State/CollectionProviderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with true will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Doctrine/Orm/Tests/State/ItemProviderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Exception\\\\\\\\ExceptionInterface\' and ApiPlatform\\\\Elasticsearch\\\\Exception\\\\IndexNotFoundException will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Exception/IndexNotFoundExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Throwable\' and ApiPlatform\\\\Elasticsearch\\\\Exception\\\\IndexNotFoundException will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Exception/IndexNotFoundExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Exception\\\\\\\\NonUniqueIdentifierException\' and ApiPlatform\\\\Elasticsearch\\\\Exception\\\\NonUniqueIdentifierException will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Exception/NonUniqueIdentifierExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Throwable\' and ApiPlatform\\\\Elasticsearch\\\\Exception\\\\NonUniqueIdentifierException will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Exception/NonUniqueIdentifierExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Extension\\\\\\\\RequestBodySearchCollectionExtensionInterface\' and ApiPlatform\\\\Elasticsearch\\\\Extension\\\\ConstantScoreFilterExtension will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Extension/ConstantScoreFilterExtensionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Extension\\\\\\\\RequestBodySearchCollectionExtensionInterface\' and ApiPlatform\\\\Elasticsearch\\\\Extension\\\\SortExtension will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Extension/SortExtensionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Extension\\\\\\\\RequestBodySearchCollectionExtensionInterface\' and ApiPlatform\\\\Elasticsearch\\\\Extension\\\\SortFilterExtension will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Extension/SortFilterExtensionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Filter\\\\\\\\ConstantScoreFilterInterface\' and ApiPlatform\\\\Elasticsearch\\\\Filter\\\\MatchFilter will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Filter/MatchFilterTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Filter\\\\\\\\SortFilterInterface\' and ApiPlatform\\\\Elasticsearch\\\\Filter\\\\OrderFilter will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Filter/OrderFilterTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Elasticsearch\\\\\\\\Filter\\\\\\\\ConstantScoreFilterInterface\' and ApiPlatform\\\\Elasticsearch\\\\Filter\\\\TermFilter will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Filter/TermFilterTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Metadata\\\\\\\\Resource\\\\\\\\Factory\\\\\\\\ResourceMetadataCollectionFactoryInterface\' and ApiPlatform\\\\Elasticsearch\\\\Metadata\\\\Resource\\\\Factory\\\\ElasticsearchProviderResourceMetadataCollectionFactory will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Metadata/Resource/Factory/ElasticsearchProviderResourceMetadataCollectionFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\State\\\\\\\\Pagination\\\\\\\\PaginatorInterface\' and ApiPlatform\\\\State\\\\Pagination\\\\PaginatorInterface will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/PaginatorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Normalizer\\\\\\\\DenormalizerInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\DocumentNormalizer will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/DocumentNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Normalizer\\\\\\\\NormalizerInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\DocumentNormalizer will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/DocumentNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Normalizer\\\\\\\\DenormalizerInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\ItemNormalizer will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Normalizer\\\\\\\\NormalizerInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\ItemNormalizer will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\SerializerAwareInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\ItemNormalizer will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\NameConverter\\\\\\\\AdvancedNameConverterInterface\' and ApiPlatform\\\\Elasticsearch\\\\Serializer\\\\NameConverter\\\\InnerFieldsNameConverter will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Elasticsearch/Tests/Serializer/NameConverter/InnerFieldsNameConverterTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\HttpFoundation\\\\\\\\Response\' and Symfony\\\\Component\\\\HttpFoundation\\\\Response will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Action/EntrypointActionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\HttpFoundation\\\\\\\\Response\' and Symfony\\\\Component\\\\HttpFoundation\\\\Response will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Action/GraphQlPlaygroundActionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\HttpFoundation\\\\\\\\Response\' and Symfony\\\\Component\\\\HttpFoundation\\\\Response will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Action/GraphiQlActionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\GraphQl\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\Dummy\' and ApiPlatform\\\\GraphQl\\\\Tests\\\\Fixtures\\\\ApiResource\\\\Dummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Serializer/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function assert\\(\\) with true will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Serializer/SerializerContextBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Instanceof between ApiPlatform\\\\Metadata\\\\GraphQl\\\\Mutation\\|ApiPlatform\\\\Metadata\\\\GraphQl\\\\Query\\|ApiPlatform\\\\Metadata\\\\GraphQl\\\\Subscription and ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation will always evaluate to true\\.$#', + 'identifier' => 'instanceof.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Serializer/SerializerContextBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method PHPUnit\\\\Framework\\\\MockObject\\\\Builder\\\\InvocationMocker\\:\\:with\\(\\) invoked with named argument \\$normalization, but it\'s not allowed because of @no\\-named\\-arguments\\.$#', + 'identifier' => 'argument.named', + 'count' => 2, + 'path' => __DIR__ . '/src/GraphQl/Tests/State/Processor/NormalizeProcessorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method PHPUnit\\\\Framework\\\\MockObject\\\\Builder\\\\InvocationMocker\\:\\:with\\(\\) invoked with named argument \\$normalization, but it\'s not allowed because of @no\\-named\\-arguments\\.$#', + 'identifier' => 'argument.named', + 'count' => 4, + 'path' => __DIR__ . '/src/GraphQl/Tests/State/Provider/DenormalizeProviderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation is not subtype of native type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Query\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/FieldsBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertArrayHasKey\\(\\) with \'fields\' and array\\{name\\?\\: string\\|null, description\\?\\: string\\|null, fields\\: \\(callable\\(\\)\\: iterable\\\\)\\|iterable\\, parseValue\\?\\: callable\\(array\\\\)\\: mixed, astNode\\?\\: GraphQL\\\\Language\\\\AST\\\\InputObjectTypeDefinitionNode\\|null, extensionASTNodes\\?\\: array\\\\|null\\} will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 4, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'GraphQL\\\\\\\\Type\\\\\\\\Definition\\\\\\\\InputObjectType\' and GraphQL\\\\Type\\\\Definition\\\\InputObjectType will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 4, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'GraphQL\\\\\\\\Type\\\\\\\\Definition\\\\\\\\NonNull\' and GraphQL\\\\Type\\\\Definition\\\\NonNull will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation is not subtype of native type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Mutation\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 6, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation is not subtype of native type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Query\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 4, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation is not subtype of native type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Subscription\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 3, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type GraphQL\\\\Type\\\\Definition\\\\Type is not subtype of native type null\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeBuilderTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Operation is not subtype of native type ApiPlatform\\\\Metadata\\\\GraphQl\\\\Query\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 8, + 'path' => __DIR__ . '/src/GraphQl/Tests/Type/TypeConverterTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type Symfony\\\\Contracts\\\\HttpClient\\\\HttpClientInterface is not subtype of native type GuzzleHttp\\\\ClientInterface@anonymous/src/HttpCache/Tests/SouinPurgerTest\\.php\\:105\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/HttpCache/Tests/SouinPurgerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type Symfony\\\\Contracts\\\\HttpClient\\\\HttpClientInterface is not subtype of native type GuzzleHttp\\\\ClientInterface@anonymous/src/HttpCache/Tests/SouinPurgerTest\\.php\\:136\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/HttpCache/Tests/SouinPurgerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type Symfony\\\\Contracts\\\\HttpClient\\\\HttpClientInterface is not subtype of native type GuzzleHttp\\\\ClientInterface@anonymous/src/HttpCache/Tests/SouinPurgerTest\\.php\\:63\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/HttpCache/Tests/SouinPurgerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type Symfony\\\\Contracts\\\\HttpClient\\\\HttpClientInterface is not subtype of native type GuzzleHttp\\\\ClientInterface@anonymous/src/HttpCache/Tests/VarnishPurgerTest\\.php\\:75\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/HttpCache/Tests/VarnishPurgerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type Symfony\\\\Contracts\\\\HttpClient\\\\HttpClientInterface is not subtype of native type GuzzleHttp\\\\ClientInterface@anonymous/src/HttpCache/Tests/VarnishXKeyPurgerTest\\.php\\:105\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/src/HttpCache/Tests/VarnishXKeyPurgerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function method_exists\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Serializer\' and \'getSupportedTypes\' will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Hydra/Tests/Serializer/CollectionFiltersNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function method_exists\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Serializer\' and \'getSupportedTypes\' will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Hydra/Tests/Serializer/PartialCollectionViewNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\JsonApi\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\Dummy\' and ApiPlatform\\\\JsonApi\\\\Tests\\\\Fixtures\\\\Dummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/JsonApi/Tests/Serializer/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function method_exists\\(\\) with Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface and \'getSupportedTypes\' will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/JsonLd/Serializer/ErrorNormalizer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ArrayObject\' and ApiPlatform\\\\JsonSchema\\\\Schema will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 2, + 'path' => __DIR__ . '/src/JsonSchema/Tests/SchemaTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Metadata\\\\\\\\ApiProperty\' and ApiPlatform\\\\Metadata\\\\ApiProperty will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 3, + 'path' => __DIR__ . '/src/Metadata/Tests/Property/Factory/SerializerPropertyMetadataFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Countable\' and ApiPlatform\\\\Metadata\\\\Property\\\\PropertyNameCollection will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Metadata/Tests/Property/PropertyNameCollectionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'IteratorAggregate\' and ApiPlatform\\\\Metadata\\\\Property\\\\PropertyNameCollection will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Metadata/Tests/Property/PropertyNameCollectionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method ApiPlatform\\\\Metadata\\\\FilterInterface@anonymous/src/Metadata/Tests/Resource/Factory/ParameterResourceMetadataCollectionFactoryTest\\.php\\:41\\:\\:getDescription\\(\\) should return array\\\\}\\> but returns array\\{hydra\\: array\\{property\\: \'hydra\', type\\: \'string\', required\\: false, schema\\: array\\{type\\: \'foo\'\\}, openapi\\: ApiPlatform\\\\OpenApi\\\\Model\\\\Parameter\\}, everywhere\\: array\\{property\\: \'everywhere\', type\\: \'string\', required\\: false, openapi\\: array\\{allowEmptyValue\\: true\\}\\}\\}\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/src/Metadata/Tests/Resource/Factory/ParameterResourceMetadataCollectionFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Metadata\\\\\\\\Operation\' and ApiPlatform\\\\Metadata\\\\Operation will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Metadata/Tests/Resource/OperationTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\OpenApi\\\\\\\\Model\\\\\\\\Components\' and ApiPlatform\\\\OpenApi\\\\Model\\\\Components will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/OpenApi/Tests/Factory/OpenApiFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\OpenApi\\\\\\\\OpenApi\' and ApiPlatform\\\\OpenApi\\\\OpenApi will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/OpenApi/Tests/Factory/OpenApiFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\DtoWithNullValue\' and ApiPlatform\\\\Serializer\\\\Tests\\\\Fixtures\\\\ApiResource\\\\DtoWithNullValue will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Serializer/Tests/AbstractItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\Dummy\' and ApiPlatform\\\\Serializer\\\\Tests\\\\Fixtures\\\\ApiResource\\\\Dummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 5, + 'path' => __DIR__ . '/src/Serializer/Tests/AbstractItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\NonCloneableDummy\' and ApiPlatform\\\\Serializer\\\\Tests\\\\Fixtures\\\\ApiResource\\\\NonCloneableDummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Serializer/Tests/AbstractItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\SecuredDummy\' and ApiPlatform\\\\Serializer\\\\Tests\\\\Fixtures\\\\ApiResource\\\\SecuredDummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 5, + 'path' => __DIR__ . '/src/Serializer/Tests/AbstractItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\ObjectWithBasicProperties\' and ApiPlatform\\\\Serializer\\\\Tests\\\\ObjectWithBasicProperties will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Serializer/Tests/AbstractItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Serializer\\\\\\\\Tests\\\\\\\\Fixtures\\\\\\\\ApiResource\\\\\\\\Dummy\' and ApiPlatform\\\\Serializer\\\\Tests\\\\Fixtures\\\\ApiResource\\\\Dummy will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 5, + 'path' => __DIR__ . '/src/Serializer/Tests/ItemNormalizerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ArrayObject\' and ApiPlatform\\\\State\\\\ResourceList will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/State/Tests/ResourceListTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$changeSet of class Doctrine\\\\ORM\\\\Event\\\\PreUpdateEventArgs constructor expects array\\, array\\{lorem\\: \'ipsum\'\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/src/Symfony/Tests/Doctrine/EventListener/PurgeHttpCacheListenerTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'ApiPlatform\\\\\\\\Metadata\\\\\\\\Exception\\\\\\\\RuntimeException\' and ApiPlatform\\\\Validator\\\\Exception\\\\ValidationException will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/src/Validator/Tests/Exception/ValidationExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'RuntimeException\' and ApiPlatform\\\\Validator\\\\Exception\\\\ValidationException will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 2, + 'path' => __DIR__ . '/src/Validator/Tests/Exception/ValidationExceptionTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Service "behat\\.driver\\.service_container" is not registered in the container\\.$#', + 'identifier' => 'symfonyContainer.serviceNotFound', + 'count' => 1, + 'path' => __DIR__ . '/tests/Behat/HttpCacheContext.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Behat/JsonApiContext.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type iterable is not subtype of native type stdClass\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Behat/OpenApiContext.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Class ApiPlatform\\\\Tests\\\\Fixtures\\\\TestBundle\\\\ApiResource\\\\DtoOutput not found\\.$#', + 'identifier' => 'class.notFound', + 'count' => 8, + 'path' => __DIR__ . '/tests/JsonSchema/DefinitionNameFactoryTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type string is not subtype of native type \\(non\\-falsy\\-string\\|false\\)\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 1, + 'path' => __DIR__ . '/tests/OpenApi/Command/OpenApiCommandTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^PHPDoc tag @var with type ApiPlatform\\\\State\\\\ProcessorInterface\\ is not subtype of native type ApiPlatform\\\\State\\\\Processor\\\\RespondProcessor\\.$#', + 'identifier' => 'varTag.nativeType', + 'count' => 3, + 'path' => __DIR__ . '/tests/State/RespondProcessorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property ApiPlatform\\\\Tests\\\\Symfony\\\\Bundle\\\\DataCollector\\\\RequestDataCollectorTest\\:\\:\\$attributes \\(Prophecy\\\\Prophecy\\\\ObjectProphecy\\|Symfony\\\\Component\\\\HttpFoundation\\\\ParameterBag\\) is never assigned Symfony\\\\Component\\\\HttpFoundation\\\\ParameterBag so it can be removed from the property type\\.$#', + 'identifier' => 'property.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DataCollector/RequestDataCollectorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property ApiPlatform\\\\Tests\\\\Symfony\\\\Bundle\\\\DataCollector\\\\RequestDataCollectorTest\\:\\:\\$request \\(Prophecy\\\\Prophecy\\\\ObjectProphecy\\|Symfony\\\\Component\\\\HttpFoundation\\\\Request\\) is never assigned Symfony\\\\Component\\\\HttpFoundation\\\\Request so it can be removed from the property type\\.$#', + 'identifier' => 'property.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DataCollector/RequestDataCollectorTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\AttributeFilterPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/AttributeFilterPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\AuthenticatorManagerPass will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/AuthenticatorManagerPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\ElasticsearchClientPass will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/ElasticsearchClientPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\FilterPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 2, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/FilterPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\GraphQlMutationResolverPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 2, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/GraphQlMutationResolverPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\GraphQlQueryResolverPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 2, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/GraphQlQueryResolverPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\GraphQlResolverPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/GraphQlResolverPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\GraphQlTypePass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 3, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/GraphQlTypePassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\MetadataAwareNameConverterPass will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/MetadataAwareNameConverterPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\DependencyInjection\\\\\\\\Compiler\\\\\\\\CompilerPassInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Compiler\\\\TestClientPass will always evaluate to true\\.$#', + 'identifier' => 'staticMethod.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/Compiler/TestClientPassTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Config\\\\\\\\Definition\\\\\\\\Builder\\\\\\\\TreeBuilder\' and Symfony\\\\Component\\\\Config\\\\Definition\\\\Builder\\\\TreeBuilder will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/ConfigurationTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Config\\\\\\\\Definition\\\\\\\\ConfigurationInterface\' and ApiPlatform\\\\Symfony\\\\Bundle\\\\DependencyInjection\\\\Configuration will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/DependencyInjection/ConfigurationTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method ApiPlatform\\\\Symfony\\\\Bundle\\\\Test\\\\Client\\:\\:getKernelBrowser\\(\\) on a separate line has no effect\\.$#', + 'identifier' => 'method.resultUnused', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Bundle/Test/ClientTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Stamp\\\\\\\\StampInterface\' and ApiPlatform\\\\Symfony\\\\Messenger\\\\ContextStamp will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Messenger/ContextStampTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertIsArray\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Messenger/ContextStampTest.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with \'Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Stamp\\\\\\\\StampInterface\' and ApiPlatform\\\\Symfony\\\\Messenger\\\\RemoveStamp will always evaluate to true\\.$#', + 'identifier' => 'method.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/tests/Symfony/Messenger/RemoveStampTest.php', +]; + +return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 6e62688230d..e81d092b0b4 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -1,3 +1,5 @@ +includes: + - phpstan.baseline.php parameters: level: 5 paths: @@ -31,6 +33,9 @@ parameters: - src/Doctrine/Odm/Tests/var/* - src/Doctrine/*/vendor/* - src/*/vendor/* + - src/*/Tests/Fixtures/* + - tests/Fixtures/* + - src/Doctrine/*/Tests/Fixtures/* # Symfony 6 support - tests/Hal/Serializer/ItemNormalizerTest.php - tests/Symfony/Validator/Metadata/Property/ValidatorPropertyMetadataFactoryTest.php @@ -43,22 +48,7 @@ parameters: ignoreErrors: # False positives - message: '#Call to an undefined method Negotiation\\AcceptHeader::getType\(\).#' - - - message: '#but database expects#' - paths: - - tests/Fixtures/TestBundle/Entity/ - '#Cannot call method add\(\) on iterable.#' - - - message: '#is never read, only written.#' - paths: - - tests/Fixtures/TestBundle/Document/ - - tests/Fixtures/TestBundle/Entity/ - - src/OpenApi/Factory/OpenApiFactory.php - - - message: '#is never written, only read.#' - paths: - - tests/Fixtures/TestBundle/Document/ - - src/Metadata/Tests/Fixtures/ApiResource/ - message: '#Parameter \#1 \$constraint of method#' paths: @@ -90,8 +80,4 @@ parameters: - src/Serializer/AbstractConstraintViolationListNormalizer.php - src/Symfony/Validator/Serializer/ValidationExceptionNormalizer.php - # See https://github.com/phpstan/phpstan-symfony/issues/27 - - - message: '#^Service "[^"]+" is private.$#' - path: src - '#Call to an undefined method Symfony\\Component\\HttpFoundation\\Request::getContentType\(\)\.#'