Skip to content

Commit d6112e2

Browse files
authored
chore: phpstan (#4736)
1 parent f6cdf89 commit d6112e2

File tree

123 files changed

+637
-328
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+637
-328
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
- name: Run PHPStan analysis
9090
env:
9191
SYMFONY_PHPUNIT_VERSION: '9.5'
92-
run:
92+
run: |
9393
./vendor/bin/phpstan --version
9494
./vendor/bin/phpstan analyse --no-interaction --no-progress --ansi
9595

phpstan.neon.dist

Lines changed: 231 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ parameters:
66
- tests/Fixtures/app/console
77
inferPrivatePropertyTypeFromConstructor: true
88
symfony:
9-
container_xml_path: tests/Fixtures/app/var/cache/test/AppKernelTestDebugContainer.xml
10-
constant_hassers: false
9+
containerXmlPath: tests/Fixtures/app/var/cache/test/AppKernelTestDebugContainer.xml
10+
constantHassers: false
1111
doctrine:
1212
objectManagerLoader: tests/Fixtures/app/object-manager.php
1313
bootstrapFiles:
@@ -16,6 +16,222 @@ parameters:
1616
- src/Symfony/Bundle/Test/Constraint/ArraySubset.php
1717
- tests/Fixtures/app/AppKernel.php
1818
excludePaths:
19+
- src/Core/Bridge/Symfony/Bundle/Test/Constraint/ArraySubsetLegacy.php
20+
# Class ... extends final class cannot be ignored...
21+
- src/Core/Action/EntrypointAction.php
22+
- src/Core/Action/ExceptionAction.php
23+
- src/Core/Action/NotFoundAction.php
24+
- src/Core/Action/PlaceholderAction.php
25+
- src/Core/Api/Entrypoint.php
26+
- src/Core/Api/FormatMatcher.php
27+
- src/Core/Api/ResourceClassResolver.php
28+
- src/Core/Bridge/Doctrine/EventListener/PurgeHttpCacheListener.php
29+
- src/Core/Bridge/Doctrine/EventListener/WriteListener.php
30+
- src/Core/Bridge/Doctrine/MongoDbOdm/Extension/PaginationExtension.php
31+
- src/Core/Bridge/Doctrine/MongoDbOdm/Extension/FilterExtension.php
32+
- src/Core/Bridge/Doctrine/MongoDbOdm/Extension/OrderExtension.php
33+
- src/Core/Bridge/Doctrine/MongoDbOdm/Extension/FilterEagerLoadingExtension.php
34+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/AbstractFilter.php
35+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/BooleanFilter.php
36+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/ExistsFilter.php
37+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/NumericFilter.php
38+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/OrderFilter.php
39+
- src/Core/Bridge/Doctrine/MongoDbOdm/Filter/RangeFilter.php
40+
- src/Core/Bridge/Doctrine/MongoDbOdm/Paginator.php
41+
- src/Core/Bridge/Doctrine/MongoDbOdm/PropertyInfo/DoctrineExtractor.php
42+
- src/Core/Bridge/Doctrine/Orm/Extension/EagerLoadingExtension.php
43+
- src/Core/Bridge/Doctrine/Orm/Extension/FilterEagerLoadingExtension.php
44+
- src/Core/Bridge/Doctrine/Orm/Extension/FilterExtension.php
45+
- src/Core/Bridge/Doctrine/Orm/Extension/OrderExtension.php
46+
- src/Core/Bridge/Doctrine/Orm/Extension/PaginationExtension.php
47+
- src/Core/Bridge/Doctrine/Orm/Filter/AbstractContextAwareFilter.php
48+
- src/Core/Bridge/Doctrine/Orm/Filter/AbstractFilter.php
49+
- src/Core/Bridge/Doctrine/Orm/Filter/BooleanFilter.php
50+
- src/Core/Bridge/Doctrine/Orm/Filter/DateFilter.php
51+
- src/Core/Bridge/Doctrine/Orm/Filter/ExistsFilter.php
52+
- src/Core/Bridge/Doctrine/Orm/Filter/NumericFilter.php
53+
- src/Core/Bridge/Doctrine/Orm/Filter/OrderFilter.php
54+
- src/Core/Bridge/Doctrine/Orm/Filter/RangeFilter.php
55+
- src/Core/Bridge/Doctrine/Orm/Paginator.php
56+
- src/Core/Bridge/Doctrine/Orm/Util/QueryBuilderHelper.php
57+
- src/Core/Bridge/Doctrine/Orm/Util/QueryChecker.php
58+
- src/Core/Bridge/Doctrine/Orm/Util/QueryJoinParser.php
59+
- src/Core/Bridge/Doctrine/Orm/Util/QueryNameGenerator.php
60+
- src/Core/Bridge/Elasticsearch/DataProvider/Extension/AbstractFilterExtension.php
61+
- src/Core/Bridge/Elasticsearch/DataProvider/Extension/ConstantScoreFilterExtension.php
62+
- src/Core/Bridge/Elasticsearch/DataProvider/Extension/SortExtension.php
63+
- src/Core/Bridge/Elasticsearch/DataProvider/Extension/SortFilterExtension.php
64+
- src/Core/Bridge/Elasticsearch/DataProvider/Paginator.php
65+
- src/Core/Bridge/Elasticsearch/Exception/IndexNotFoundException.php
66+
- src/Core/Bridge/Elasticsearch/Exception/NonUniqueIdentifierException.php
67+
- src/Core/Bridge/Elasticsearch/Metadata/Document/DocumentMetadata.php
68+
- src/Core/Bridge/Elasticsearch/Metadata/Document/Factory/AttributeDocumentMetadataFactory.php
69+
- src/Core/Bridge/Elasticsearch/Metadata/Document/Factory/CachedDocumentMetadataFactory.php
70+
- src/Core/Bridge/Elasticsearch/Metadata/Document/Factory/CatDocumentMetadataFactory.php
71+
- src/Core/Bridge/Elasticsearch/Metadata/Document/Factory/ConfiguredDocumentMetadataFactory.php
72+
- src/Core/Bridge/Elasticsearch/Serializer/DocumentNormalizer.php
73+
- src/Core/Bridge/Elasticsearch/Serializer/ItemNormalizer.php
74+
- src/Core/Bridge/Elasticsearch/Serializer/NameConverter/InnerFieldsNameConverter.php
75+
- src/Core/Bridge/RamseyUuid/Serializer/UuidDenormalizer.php
76+
- src/Core/Bridge/Symfony/Bundle/ApiPlatformBundle.php
77+
- src/Core/Bridge/Symfony/Bundle/ArgumentResolver/PayloadArgumentResolver.php
78+
- src/Core/Bridge/Symfony/Bundle/Command/OpenApiCommand.php
79+
- src/Core/Bridge/Symfony/Bundle/CacheWarmer/CachePoolClearerCacheWarmer.php
80+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php
81+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Configuration.php
82+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/AnnotationFilterPass.php
83+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/AuthenticatorManagerPass.php
84+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/DataProviderPass.php
85+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/DeprecateMercurePublisherPass.php
86+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/FilterPass.php
87+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/ElasticsearchClientPass.php
88+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/GraphQlQueryResolverPass.php
89+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/GraphQlTypePass.php
90+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/GraphQlMutationResolverPass.php
91+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/MetadataAwareNameConverterPass.php
92+
- src/Core/Bridge/Symfony/Bundle/DependencyInjection/Compiler/TestClientPass.php
93+
- src/Core/Bridge/Symfony/Bundle/EventListener/SwaggerUiListener.php
94+
- src/Core/Bridge/Symfony/Bundle/SwaggerUi/SwaggerUiAction.php
95+
- src/Core/Bridge/Symfony/Bundle/SwaggerUi/SwaggerUiContext.php
96+
- src/Core/Bridge/Symfony/Bundle/Test/Client.php
97+
- src/Core/Bridge/Symfony/Bundle/Test/Response.php
98+
- src/Core/Bridge/Symfony/Identifier/Normalizer/UuidNormalizer.php
99+
- src/Core/Bridge/Symfony/Messenger/ContextStamp.php
100+
- src/Core/Bridge/Symfony/Messenger/RemoveStamp.php
101+
- src/Core/Bridge/Symfony/PropertyInfo/Metadata/Property/PropertyInfoPropertyNameCollectionFactory.php
102+
- src/Core/Bridge/Symfony/Routing/ApiLoader.php
103+
- src/Core/Bridge/Symfony/Routing/Router.php
104+
- src/Core/Bridge/Symfony/Validator/EventListener/ValidationExceptionListener.php
105+
- src/Core/Bridge/Symfony/Validator/Exception/ValidationException.php
106+
- src/Core/Bridge/Symfony/Validator/Validator.php
107+
- src/Core/DataProvider/ArrayPaginator.php
108+
- src/Core/DataProvider/PaginationOptions.php
109+
- src/Core/DataProvider/TraversablePaginator.php
110+
- src/Core/Documentation/Action/DocumentationAction.php
111+
- src/Core/Documentation/Documentation.php
112+
- src/Core/EventListener/AddFormatListener.php
113+
- src/Core/EventListener/DeserializeListener.php
114+
- src/Core/EventListener/EventPriorities.php
115+
- src/Core/EventListener/ExceptionListener.php
116+
- src/Core/EventListener/QueryParameterValidateListener.php
117+
- src/Core/EventListener/RespondListener.php
118+
- src/Core/EventListener/SerializeListener.php
119+
- src/Core/Exception/FilterValidationException.php
120+
- src/Core/Exception/InvalidIdentifierException.php
121+
- src/Core/Filter/Validator/ArrayItems.php
122+
- src/Core/Filter/Validator/Bounds.php
123+
- src/Core/Filter/Validator/Enum.php
124+
- src/Core/Filter/Validator/Length.php
125+
- src/Core/Filter/Validator/MultipleOf.php
126+
- src/Core/Filter/Validator/Pattern.php
127+
- src/Core/Filter/Validator/Required.php
128+
- src/Core/GraphQl/Action/EntrypointAction.php
129+
- src/Core/GraphQl/Action/GraphQlPlaygroundAction.php
130+
- src/Core/GraphQl/Action/GraphiQlAction.php
131+
- src/Core/GraphQl/Error/ErrorHandler.php
132+
- src/Core/GraphQl/Executor.php
133+
- src/Core/GraphQl/Type/Definition/IterableType.php
134+
- src/Core/GraphQl/Type/Definition/UploadType.php
135+
- src/Core/GraphQl/Type/TypeNotFoundException.php
136+
- src/Core/GraphQl/Type/TypesContainer.php
137+
- src/Core/GraphQl/Type/TypesFactory.php
138+
- src/Core/Hal/JsonSchema/SchemaFactory.php
139+
- src/Core/Hal/Serializer/CollectionNormalizer.php
140+
- src/Core/Hal/Serializer/EntrypointNormalizer.php
141+
- src/Core/Hal/Serializer/ItemNormalizer.php
142+
- src/Core/Hal/Serializer/ObjectNormalizer.php
143+
- src/Core/HttpCache/EventListener/AddHeadersListener.php
144+
- src/Core/HttpCache/EventListener/AddTagsListener.php
145+
- src/Core/HttpCache/VarnishPurger.php
146+
- src/Core/HttpCache/VarnishXKeyPurger.php
147+
- src/Core/Hydra/EventListener/AddLinkHeaderListener.php
148+
- src/Core/Hydra/JsonSchema/SchemaFactory.php
149+
- src/Core/Hydra/Serializer/CollectionFiltersNormalizer.php
150+
- src/Core/Hydra/Serializer/CollectionNormalizer.php
151+
- src/Core/Hydra/Serializer/ConstraintViolationListNormalizer.php
152+
- src/Core/Hydra/Serializer/DocumentationNormalizer.php
153+
- src/Core/Hydra/Serializer/EntrypointNormalizer.php
154+
- src/Core/Hydra/Serializer/ErrorNormalizer.php
155+
- src/Core/Hydra/Serializer/PartialCollectionViewNormalizer.php
156+
- src/Core/JsonApi/EventListener/TransformFieldsetsParametersListener.php
157+
- src/Core/JsonApi/EventListener/TransformFilteringParametersListener.php
158+
- src/Core/JsonApi/EventListener/TransformPaginationParametersListener.php
159+
- src/Core/JsonApi/EventListener/TransformSortingParametersListener.php
160+
- src/Core/JsonApi/Serializer/CollectionNormalizer.php
161+
- src/Core/JsonApi/Serializer/ConstraintViolationListNormalizer.php
162+
- src/Core/JsonApi/Serializer/EntrypointNormalizer.php
163+
- src/Core/JsonApi/Serializer/ErrorNormalizer.php
164+
- src/Core/JsonApi/Serializer/ItemNormalizer.php
165+
- src/Core/JsonApi/Serializer/ObjectNormalizer.php
166+
- src/Core/JsonApi/Serializer/ReservedAttributeNameConverter.php
167+
- src/Core/JsonLd/Action/ContextAction.php
168+
- src/Core/JsonLd/ContextBuilder.php
169+
- src/Core/JsonLd/Serializer/ItemNormalizer.php
170+
- src/Core/JsonLd/Serializer/ObjectNormalizer.php
171+
- src/Core/JsonSchema/Command/JsonSchemaGenerateCommand.php
172+
- src/Core/JsonSchema/Schema.php
173+
- src/Core/JsonSchema/SchemaFactory.php
174+
- src/Core/JsonSchema/TypeFactory.php
175+
- src/Core/Mercure/EventListener/AddLinkHeaderListener.php
176+
- src/Core/Metadata/Property/Factory/CachedPropertyNameCollectionFactory.php
177+
- src/Core/Metadata/Property/Factory/ExtractorPropertyNameCollectionFactory.php
178+
- src/Core/Metadata/Property/PropertyNameCollection.php
179+
- src/Core/OpenApi/Model/Components.php
180+
- src/Core/OpenApi/Model/Contact.php
181+
- src/Core/OpenApi/Model/Encoding.php
182+
- src/Core/OpenApi/Model/ExternalDocumentation.php
183+
- src/Core/OpenApi/Model/Info.php
184+
- src/Core/OpenApi/Model/License.php
185+
- src/Core/OpenApi/Model/Link.php
186+
- src/Core/OpenApi/Model/MediaType.php
187+
- src/Core/OpenApi/Model/OAuthFlow.php
188+
- src/Core/OpenApi/Model/OAuthFlows.php
189+
- src/Core/OpenApi/Model/Operation.php
190+
- src/Core/OpenApi/Model/Parameter.php
191+
- src/Core/OpenApi/Model/PathItem.php
192+
- src/Core/OpenApi/Model/Paths.php
193+
- src/Core/OpenApi/Model/RequestBody.php
194+
- src/Core/OpenApi/Model/Response.php
195+
- src/Core/OpenApi/Model/Schema.php
196+
- src/Core/OpenApi/Model/SecurityScheme.php
197+
- src/Core/OpenApi/Model/Server.php
198+
- src/Core/OpenApi/OpenApi.php
199+
- src/Core/OpenApi/Options.php
200+
- src/Core/OpenApi/Serializer/OpenApiNormalizer.php
201+
- src/Core/Operation/DashPathSegmentNameGenerator.php
202+
- src/Core/Operation/UnderscorePathSegmentNameGenerator.php
203+
- src/Core/PathResolver/CustomOperationPathResolver.php
204+
- src/Core/PathResolver/OperationPathResolver.php
205+
- src/Core/Problem/Serializer/ConstraintViolationListNormalizer.php
206+
- src/Core/Problem/Serializer/ErrorNormalizer.php
207+
- src/Core/Security/Core/Authorization/ExpressionLanguageProvider.php
208+
- src/Core/Security/EventListener/DenyAccessListener.php
209+
- src/Core/Security/ResourceAccessChecker.php
210+
- src/Core/Serializer/AbstractItemNormalizer.php
211+
- src/Core/Serializer/AbstractCollectionNormalizer.php
212+
- src/Core/Serializer/AbstractConstraintViolationListNormalizer.php
213+
- src/Core/Serializer/Filter/GroupFilter.php
214+
- src/Core/Serializer/Filter/PropertyFilter.php
215+
- src/Core/Serializer/JsonEncoder.php
216+
- src/Core/Serializer/Mapping/Factory/ClassMetadataFactory.php
217+
- src/Core/Serializer/SerializerContextBuilder.php
218+
- src/Core/Serializer/SerializerFilterContextBuilder.php
219+
- src/Core/Swagger/Serializer/ApiGatewayNormalizer.php
220+
- src/Core/Swagger/Serializer/DocumentationNormalizer.php
221+
- src/Core/Test/DoctrineMongoDbOdmFilterTestCase.php
222+
- src/Core/Test/DoctrineOrmFilterTestCase.php
223+
- src/Core/Upgrade/SubresourceTransformer.php
224+
- src/Core/Upgrade/UpgradeApiResourceVisitor.php
225+
- src/Core/Upgrade/UpgradeApiSubresourceVisitor.php
226+
- src/Core/Util/AttributesExtractor.php
227+
- src/Core/Util/ErrorFormatGuesser.php
228+
- src/Core/Util/Inflector.php
229+
- src/Core/Util/IriHelper.php
230+
- src/Core/Util/Reflection.php
231+
- src/Core/Util/ReflectionClassRecursiveIterator.php
232+
- src/Core/Util/RequestAttributesExtractor.php
233+
- src/Core/Util/RequestParser.php
234+
- src/Core/Validator/EventListener/ValidateListener.php
19235
# Symfony cache
20236
- tests/Fixtures/app/var/cache
21237
# Deprecated integrations (will be removed in API Platform 3)
@@ -91,10 +307,6 @@ parameters:
91307
-
92308
message: '#Parameter \#1 \$objectValue of method GraphQL\\Type\\Definition\\InterfaceType::resolveType\(\) expects object, array(<string, string>)? given.#'
93309
path: tests/GraphQl/Type/TypeBuilderTest.php
94-
# https://github.com/phpstan/phpstan-doctrine/issues/115
95-
-
96-
message: '#Property ApiPlatform\\Test\\DoctrineMongoDbOdmFilterTestCase::\$repository \(Doctrine\\ODM\\MongoDB\\Repository\\DocumentRepository\) does not accept Doctrine\\ORM\\EntityRepository<object>\.#'
97-
path: src/Test/DoctrineMongoDbOdmFilterTestCase.php
98310
# https://github.com/phpstan/phpstan-phpunit/issues/62
99311
-
100312
message: '#Call to method PHPUnit\\Framework\\Assert::assertSame\(\) with 2 and int will always evaluate to false\.#'
@@ -128,6 +340,9 @@ parameters:
128340
- '#Method ApiPlatform\\Doctrine\\Orm\\Filter\\(Abstract|Exists|Order)Filter::filterProperty\(\) invoked with 7 parameters, 5-6 required\.#'
129341
- '#Method ApiPlatform\\Doctrine\\Orm\\Filter\\(AbstractFilter|FilterInterface)::apply\(\) invoked with 5 parameters, 3-4 required\.#'
130342
- '#Method ApiPlatform\\PathResolver\\OperationPathResolverInterface::resolveOperationPath\(\) invoked with 4 parameters, 3 required\.#'
343+
-
344+
message: '#If condition is always false.#'
345+
path: src/Core
131346

132347
# Expected, due to backward compatibility
133348
-
@@ -150,3 +365,13 @@ parameters:
150365
-
151366
message: '#Call to an undefined method Symfony\\Component\\PropertyInfo\\Type::getCollectionKeyType\(\)#'
152367
path: src
368+
# Skipped tests, we do this on purpose
369+
-
370+
message: "#^Unreachable statement - code above always terminates.$#"
371+
path: tests
372+
-
373+
message: "#^Unreachable statement - code above always terminates.$#"
374+
path: src/Core/Bridge/Doctrine/EventListener/PublishMercureUpdatesListener.php
375+
-
376+
message: "#Access to an undefined static property static\\([^)]+\\)::\\$container.$#"
377+
path: tests

src/Api/IdentifiersExtractor.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use ApiPlatform\Core\Identifier\CompositeIdentifierParser;
1717
use ApiPlatform\Exception\RuntimeException;
1818
use ApiPlatform\Metadata\GraphQl\Operation as GraphQlOperation;
19+
use ApiPlatform\Metadata\HttpOperation;
1920
use ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface;
2021
use ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface;
2122
use ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface;
@@ -56,7 +57,12 @@ public function getIdentifiersFromItem($item, string $operationName = null, arra
5657
$resourceClass = $this->getResourceClass($item, true);
5758
$operation = $context['operation'] ?? $this->resourceMetadataFactory->create($resourceClass)->getOperation($operationName, false, true);
5859

59-
$links = $operation instanceof GraphQlOperation ? $operation->getLinks() : $operation->getUriVariables();
60+
if ($operation instanceof HttpOperation) {
61+
$links = $operation->getUriVariables();
62+
} elseif ($operation instanceof GraphQlOperation) {
63+
$links = $operation->getLinks();
64+
}
65+
6066
foreach ($links ?? [] as $link) {
6167
if (1 < \count($link->getIdentifiers())) {
6268
$compositeIdentifiers = [];
@@ -136,7 +142,14 @@ private function resolveIdentifierValue($identifierValue, string $parameterName)
136142
if ($this->isResourceClass($relatedResourceClass = $this->getObjectClass($identifierValue))) {
137143
trigger_deprecation('api-platform/core', '2.7', 'Using a resource class as identifier is deprecated, please make this identifier Stringable');
138144
$relatedOperation = $this->resourceMetadataFactory->create($relatedResourceClass)->getOperation();
139-
$relatedLinks = $relatedOperation instanceof GraphQlOperation ? $relatedOperation->getLinks() : $relatedOperation->getUriVariables();
145+
146+
$relatedLinks = [];
147+
if ($relatedOperation instanceof GraphQlOperation) {
148+
$relatedLinks = $relatedOperation->getLinks();
149+
} elseif ($relatedOperation instanceof HttpOperation) {
150+
$relatedLinks = $relatedOperation->getUriVariables();
151+
}
152+
140153
if (1 === \count($relatedLinks)) {
141154
$identifierValue = $this->getIdentifierValue($identifierValue, $relatedResourceClass, current($relatedLinks)->getIdentifiers()[0], $parameterName);
142155

src/Core/Api/FilterLocatorTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Api\FilterLocatorTrait::class);
1717

1818
if (false) {
19-
class FilterLocatorTrait extends \ApiPlatform\Api\FilterLocatorTrait
19+
trait FilterLocatorTrait
2020
{
21+
use \ApiPlatform\Api\FilterLocatorTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/BooleanFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\BooleanFilterTrait::class);
1717

1818
if (false) {
19-
class BooleanFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\BooleanFilterTrait
19+
trait BooleanFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\BooleanFilterTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/DateFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\DateFilterTrait::class);
1717

1818
if (false) {
19-
class DateFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\DateFilterTrait
19+
trait DateFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\DateFilterTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/ExistsFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\ExistsFilterTrait::class);
1717

1818
if (false) {
19-
class ExistsFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\ExistsFilterTrait
19+
trait ExistsFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\ExistsFilterTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/NumericFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\NumericFilterTrait::class);
1717

1818
if (false) {
19-
class NumericFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\NumericFilterTrait
19+
trait NumericFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\NumericFilterTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/OrderFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\OrderFilterTrait::class);
1717

1818
if (false) {
19-
class OrderFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\OrderFilterTrait
19+
trait OrderFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\OrderFilterTrait;
2122
}
2223
}

src/Core/Bridge/Doctrine/Common/Filter/RangeFilterTrait.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
class_exists(\ApiPlatform\Doctrine\Common\Filter\RangeFilterTrait::class);
1717

1818
if (false) {
19-
class RangeFilterTrait extends \ApiPlatform\Doctrine\Common\Filter\RangeFilterTrait
19+
trait RangeFilterTrait
2020
{
21+
use \ApiPlatform\Doctrine\Common\Filter\RangeFilterTrait;
2122
}
2223
}

0 commit comments

Comments
 (0)