parameters: level: 6 paths: - src - tests - tests/Fixtures/app/console inferPrivatePropertyTypeFromConstructor: true treatPhpDocTypesAsCertain: false symfony: containerXmlPath: tests/Fixtures/app/var/cache/test/AppKernelTestDebugContainer.xml constantHassers: false doctrine: objectManagerLoader: tests/Fixtures/app/object-manager.php bootstrapFiles: # We're aliasing classes for phpunit in this file, it needs to be added here see phpstan/#2194 - src/Symfony/Bundle/Test/Constraint/ArraySubset.php - tests/Fixtures/app/AppKernel.php excludePaths: # uses larastan - src/Laravel # Symfony config - tests/Fixtures/app/config/config_swagger.php # Symfony cache - tests/Fixtures/app/var/ - tests/Fixtures/Symfony/Maker # The Symfony Configuration API isn't good enough to be analysed - src/Symfony/Bundle/DependencyInjection/Configuration.php # Templates for Maker - src/Symfony/Maker/Resources/skeleton # subtree split - src/Doctrine/Orm/Tests/var/* - src/Doctrine/Odm/Tests/var/* - src/Doctrine/*/vendor/* - src/*/vendor/* # Symfony 6 support - src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php - tests/Fixtures/app/config/reference.php earlyTerminatingMethodCalls: PHPUnit\Framework\Constraint\Constraint: - fail ApiPlatform\Metadata\Resource\ResourceMetadataCollection: - handleNotFound ignoreErrors: # ignore type todo remove in 5.0 - message: '#Symfony\\Component\\PropertyInfo\\Type#' identifier: class.notFound # False positives - message: '#Call to an undefined method Negotiation\\AcceptHeader::getType\(\).#' - identifier: doctrine.columnType paths: - tests/Fixtures/TestBundle/Entity/ - identifier: doctrine.associationType 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 - src/JsonLd/Serializer/ObjectNormalizer.php - message: '#is never assigned .* so it can be removed from the property type.#' paths: - src/Doctrine/Common/Tests/Fixtures/ - src/Doctrine/Orm/Tests/Fixtures/ - src/Doctrine/Odm/Tests/Fixtures/ - src/Elasticsearch/Tests/Fixtures/ - src/GraphQl/Tests/Fixtures/ - src/JsonSchema/Tests/Fixtures/ - src/Metadata/Tests/Fixtures/ - src/Serializer/Tests/Fixtures/ - tests/Fixtures/ - message: '#is never written, only read.#' paths: - tests/Fixtures/TestBundle/Document/ - src/Metadata/Tests/Fixtures/ApiResource/ - '#Access to an undefined property Prophecy\\Prophecy\\ObjectProphecy<(\\?[a-zA-Z0-9_]+)+>::\$[a-zA-Z0-9_]+#' # ORM 2 and 3 disagree on the shape of ClassMetadata::$associationMappings # (raw arrays vs mapping objects). The extension reads them through # ArrayAccess, so array fixtures are valid for both; composer still # supports doctrine/orm ^2.17. - identifier: assign.propertyType path: src/Doctrine/Orm/Tests/Extension/EagerLoadingExtensionTest.php # https://github.com/phpstan/phpstan-symfony/issues/76 - message: '#Service "test" is not registered in the container\.#' path: src/GraphQl/Tests/Type/TypesContainerTest.php # Expected, due to backward compatibility - '#Access to an undefined property GraphQL\\Type\\Definition\\NamedType&GraphQL\\Type\\Definition\\Type::\$name\.#' - "#Call to function method_exists\\(\\) with 'Symfony\\\\\\\\Component\\\\\\\\PropertyInfo\\\\\\\\PropertyInfoExtractor' and 'getType' will always evaluate to true\\.#" - "#Call to function method_exists\\(\\) with 'Symfony\\\\\\\\Component\\\\\\\\HttpFoundation\\\\\\\\Request' and 'getContentTypeFormat' will always evaluate to true\\.#" - '#Call to an undefined method Symfony\\Component\\HttpFoundation\\Request::getContentType\(\)\.#' - "#Call to function method_exists\\(\\) with 'Symfony\\\\\\\\Component\\\\\\\\Serializer\\\\\\\\Serializer' and 'getSupportedTypes' will always evaluate to true\\.#" - "#Call to function method_exists\\(\\) with Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface and 'getSupportedTypes' will always evaluate to true\\.#" - "#Call to function method_exists\\(\\) with Doctrine\\\\ODM\\\\MongoDB\\\\Mapping\\\\ClassMetadata\\|Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata and 'isChangeTrackingDef…' will always evaluate to true\\.#" - "#Call to function method_exists\\(\\) with Symfony\\\\Component\\\\Serializer\\\\Exception\\\\PartialDenormalizationException and 'getNotNormalizableV…' will always evaluate to true\\.#" # See https://github.com/phpstan/phpstan-symfony/issues/27 - message: '#^Service "[^"]+" is private.$#' path: src # Allow extra assertions in tests: https://github.com/phpstan/phpstan-strict-rules/issues/130 - '#^Call to (static )?method PHPUnit\\Framework\\Assert::.* will always evaluate to true\.$#' # Level 6 - identifier: missingType.iterableValue paths: - src/Doctrine/Common/Tests - src/Doctrine/Odm/Tests - src/Doctrine/Orm/Tests - src/Elasticsearch/Tests - src/GraphQl/Tests - src/HttpCache/Tests - src/Hydra/Tests - src/JsonApi/Tests - src/JsonSchema/Tests - src/Metadata/Tests - src/OpenApi/Tests - src/Serializer/Tests - src/State/Tests - src/Symfony/Tests - tests - src # TODO - identifier: missingType.generics - identifier: missingType.property paths: - src/Doctrine/Common/Tests - src/Doctrine/Odm/Tests - src/Doctrine/Orm/Tests - src/Elasticsearch/Tests - src/Hydra/Tests - src/JsonApi/Tests - src/JsonSchema/Tests - src/Metadata/Tests - src/Serializer/Tests - src/Symfony/Tests - tests - identifier: missingType.parameter paths: - src/Doctrine/Common/Tests - src/Doctrine/Odm/Tests - src/Doctrine/Orm/Tests - src/Elasticsearch/Tests - src/GraphQl/Tests - src/Hydra/Tests - src/JsonApi/Tests - src/JsonSchema/Tests - src/Metadata/Tests - src/OpenApi/Tests - src/Serializer/Tests - src/Symfony/Bundle/Test - src/Symfony/Tests - tests - identifier: missingType.return paths: - src/Doctrine/Common/Tests - src/Doctrine/Odm/Tests - src/Doctrine/Orm/Tests - src/Elasticsearch/Tests - src/GraphQl/Tests - src/Hydra/Tests - src/JsonApi/Tests - src/JsonSchema/Tests - src/Metadata/Tests - src/OpenApi/Tests - src/Serializer/Tests - src/Symfony/Tests - tests - identifier: argument.templateType paths: - src/Symfony/Bundle/Test - tests - src # TODO - identifier: method.notFound paths: - tests/Functional/JsonStreamerTest.php # Symfony Console 7.4 added Application::addCommand(); 8.1 removed add(). One branch is unreachable depending on installed version. - message: '#Call to an undefined method Symfony\\Component\\Console\\Application::(add|addCommand)\(\)\.#' path: tests/Symfony/Bundle/Command/DebugResourceCommandTest.php reportUnmatched: false - identifier: function.alreadyNarrowedType path: tests/Symfony/Bundle/Command/DebugResourceCommandTest.php reportUnmatched: false