Skip to content

Commit 1356897

Browse files
janedbalondrejmirtes
authored andcommitted
Remove otherMethodQueryBuilderParser calls everywhere else
1 parent b4e4599 commit 1356897

7 files changed

+5
-59
lines changed

rules.neon

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ services:
3535
class: PHPStan\Rules\Doctrine\ORM\QueryBuilderDqlRule
3636
arguments:
3737
reportDynamicQueryBuilders: %doctrine.reportDynamicQueryBuilders%
38-
searchOtherMethodsForQueryBuilderBeginning: %doctrine.searchOtherMethodsForQueryBuilderBeginning%
3938
tags:
4039
- phpstan.rules.rule
4140
-

src/Rules/Doctrine/ORM/QueryBuilderDqlRule.php

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
use PHPStan\Rules\RuleErrorBuilder;
1313
use PHPStan\Type\Doctrine\DoctrineTypeUtils;
1414
use PHPStan\Type\Doctrine\ObjectMetadataResolver;
15-
use PHPStan\Type\Doctrine\QueryBuilder\OtherMethodQueryBuilderParser;
1615
use PHPStan\Type\ObjectType;
1716
use PHPStan\Type\TypeUtils;
1817
use Throwable;
@@ -32,23 +31,13 @@ class QueryBuilderDqlRule implements Rule
3231
/** @var bool */
3332
private $reportDynamicQueryBuilders;
3433

35-
/** @var OtherMethodQueryBuilderParser */
36-
private $otherMethodQueryBuilderParser;
37-
38-
/** @var bool */
39-
private $searchOtherMethodsForQueryBuilderBeginning;
40-
4134
public function __construct(
4235
ObjectMetadataResolver $objectMetadataResolver,
43-
OtherMethodQueryBuilderParser $otherMethodQueryBuilderParser,
44-
bool $reportDynamicQueryBuilders,
45-
bool $searchOtherMethodsForQueryBuilderBeginning
36+
bool $reportDynamicQueryBuilders
4637
)
4738
{
4839
$this->objectMetadataResolver = $objectMetadataResolver;
49-
$this->otherMethodQueryBuilderParser = $otherMethodQueryBuilderParser;
5040
$this->reportDynamicQueryBuilders = $reportDynamicQueryBuilders;
51-
$this->searchOtherMethodsForQueryBuilderBeginning = $searchOtherMethodsForQueryBuilderBeginning;
5241
}
5342

5443
public function getNodeType(): string
@@ -69,14 +58,6 @@ public function processNode(Node $node, Scope $scope): array
6958
$calledOnType = $scope->getType($node->var);
7059
$queryBuilderTypes = DoctrineTypeUtils::getQueryBuilderTypes($calledOnType);
7160
if (count($queryBuilderTypes) === 0) {
72-
73-
if ($this->searchOtherMethodsForQueryBuilderBeginning) {
74-
$queryBuilderTypes = $this->otherMethodQueryBuilderParser->getQueryBuilderTypes($scope, $node);
75-
if (count($queryBuilderTypes) !== 0) {
76-
return [];
77-
}
78-
}
79-
8061
if (
8162
$this->reportDynamicQueryBuilders
8263
&& (new ObjectType('Doctrine\ORM\QueryBuilder'))->isSuperTypeOf($calledOnType)->yes()

src/Type/Doctrine/QueryBuilder/OtherMethodQueryBuilderParser.php

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,6 @@ public function __construct(bool $descendIntoOtherMethods, ReflectionProvider $r
4949
$this->container = $container;
5050
}
5151

52-
/**
53-
* @return QueryBuilderType[]
54-
*/
55-
public function getQueryBuilderTypes(Scope $scope, MethodCall $methodCall): array
56-
{
57-
if (!$methodCall->var instanceof MethodCall) {
58-
return [];
59-
}
60-
61-
return $this->findQueryBuilderTypesInCalledMethod($scope, $methodCall->var);
62-
}
63-
6452
/**
6553
* @return QueryBuilderType[]
6654
*/

src/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtension.php

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,22 +65,17 @@ class QueryBuilderGetQueryDynamicReturnTypeExtension implements DynamicMethodRet
6565
/** @var DescriptorRegistry */
6666
private $descriptorRegistry;
6767

68-
/** @var OtherMethodQueryBuilderParser */
69-
private $otherMethodQueryBuilderParser;
70-
7168
public function __construct(
7269
ObjectMetadataResolver $objectMetadataResolver,
7370
ArgumentsProcessor $argumentsProcessor,
7471
?string $queryBuilderClass,
75-
DescriptorRegistry $descriptorRegistry,
76-
OtherMethodQueryBuilderParser $otherMethodQueryBuilderParser
72+
DescriptorRegistry $descriptorRegistry
7773
)
7874
{
7975
$this->objectMetadataResolver = $objectMetadataResolver;
8076
$this->argumentsProcessor = $argumentsProcessor;
8177
$this->queryBuilderClass = $queryBuilderClass;
8278
$this->descriptorRegistry = $descriptorRegistry;
83-
$this->otherMethodQueryBuilderParser = $otherMethodQueryBuilderParser;
8479
}
8580

8681
public function getClass(): string
@@ -107,10 +102,7 @@ public function getTypeFromMethodCall(
107102
)->getReturnType();
108103
$queryBuilderTypes = DoctrineTypeUtils::getQueryBuilderTypes($calledOnType);
109104
if (count($queryBuilderTypes) === 0) {
110-
$queryBuilderTypes = $this->otherMethodQueryBuilderParser->getQueryBuilderTypes($scope, $methodCall);
111-
if (count($queryBuilderTypes) === 0) {
112-
return $defaultReturnType;
113-
}
105+
return $defaultReturnType;
114106
}
115107

116108
$objectManager = $this->objectMetadataResolver->getObjectManager();

src/Type/Doctrine/QueryBuilder/QueryBuilderMethodDynamicReturnTypeExtension.php

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,11 @@ class QueryBuilderMethodDynamicReturnTypeExtension implements DynamicMethodRetur
2626
/** @var string|null */
2727
private $queryBuilderClass;
2828

29-
/** @var OtherMethodQueryBuilderParser */
30-
private $otherMethodQueryBuilderParser;
31-
3229
public function __construct(
33-
?string $queryBuilderClass,
34-
OtherMethodQueryBuilderParser $otherMethodQueryBuilderParser
30+
?string $queryBuilderClass
3531
)
3632
{
3733
$this->queryBuilderClass = $queryBuilderClass;
38-
$this->otherMethodQueryBuilderParser = $otherMethodQueryBuilderParser;
3934
}
4035

4136
public function getClass(): string
@@ -74,10 +69,7 @@ public function getTypeFromMethodCall(
7469

7570
$queryBuilderTypes = DoctrineTypeUtils::getQueryBuilderTypes($calledOnType);
7671
if (count($queryBuilderTypes) === 0) {
77-
$queryBuilderTypes = $this->otherMethodQueryBuilderParser->getQueryBuilderTypes($scope, $methodCall);
78-
if (count($queryBuilderTypes) === 0) {
79-
return $calledOnType;
80-
}
72+
return $calledOnType;
8173
}
8274

8375
if (count($queryBuilderTypes) > self::MAX_COMBINATIONS) {

tests/Rules/Doctrine/ORM/QueryBuilderDqlRuleSlowTest.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use PHPStan\Rules\Rule;
66
use PHPStan\Testing\RuleTestCase;
77
use PHPStan\Type\Doctrine\ObjectMetadataResolver;
8-
use PHPStan\Type\Doctrine\QueryBuilder\OtherMethodQueryBuilderParser;
98

109
/**
1110
* @extends RuleTestCase<QueryBuilderDqlRule>
@@ -17,8 +16,6 @@ protected function getRule(): Rule
1716
{
1817
return new QueryBuilderDqlRule(
1918
new ObjectMetadataResolver(__DIR__ . '/entity-manager.php', __DIR__ . '/../../../../tmp'),
20-
self::getContainer()->getByType(OtherMethodQueryBuilderParser::class),
21-
true,
2219
true
2320
);
2421
}

tests/Rules/Doctrine/ORM/QueryBuilderDqlRuleTest.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use PHPStan\Rules\Rule;
66
use PHPStan\Testing\RuleTestCase;
77
use PHPStan\Type\Doctrine\ObjectMetadataResolver;
8-
use PHPStan\Type\Doctrine\QueryBuilder\OtherMethodQueryBuilderParser;
98

109
/**
1110
* @extends RuleTestCase<QueryBuilderDqlRule>
@@ -17,8 +16,6 @@ protected function getRule(): Rule
1716
{
1817
return new QueryBuilderDqlRule(
1918
new ObjectMetadataResolver(__DIR__ . '/entity-manager.php', __DIR__ . '/../../../../tmp'),
20-
self::getContainer()->getByType(OtherMethodQueryBuilderParser::class),
21-
true,
2219
true
2320
);
2421
}

0 commit comments

Comments
 (0)