Skip to content

Commit 1f22f87

Browse files
committed
make use of ContainsStmts interface
1 parent efb6a4a commit 1f22f87

File tree

54 files changed

+194
-182
lines changed

Some content is hidden

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

54 files changed

+194
-182
lines changed

build/build-preload.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,10 @@ private function findPhpParserFilesAndSortThem(string $vendorDir): array
361361
}
362362
}
363363

364-
$fileInfos = array_values($fileInfos);
364+
return array_values($fileInfos);
365365

366-
$stmtsAwareInterface = new SplFileInfo(__DIR__ . '/../src/Contract/PhpParser/Node/StmtsAwareInterface.php');
367-
array_splice($fileInfos, 1, 0, [$stmtsAwareInterface]);
366+
// $ContainsStmts = new SplFileInfo(__DIR__ . '/../src/Contract/PhpParser/Node/ContainsStmts.php');
367+
// array_splice($fileInfos, 1, 0, [$ContainsStmts]);
368368

369369
return $fileInfos;
370370
}

composer.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"doctrine/inflector": "^2.1",
2121
"illuminate/container": "^11.46",
2222
"nette/utils": "^4.0",
23-
"nikic/php-parser": "^5.6.1",
23+
"nikic/php-parser": "dev-tv-add-stmts-iterable as 5.4",
2424
"ondram/ci-detector": "^4.2",
2525
"phpstan/phpdoc-parser": "^2.3",
2626
"phpstan/phpstan": "^2.1.26",
@@ -147,5 +147,11 @@
147147
}
148148
},
149149
"minimum-stability": "dev",
150-
"prefer-stable": true
150+
"prefer-stable": true,
151+
"repositories": [
152+
{
153+
"type": "vcs",
154+
"url": "https://github.com/tomasVotruba/php-parser"
155+
}
156+
]
151157
}

preload-split-package.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function isPHPStanTestPreloaded(): bool
2626
}
2727

2828
require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node.php';
29-
require_once __DIR__ . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php';
29+
//require_once __DIR__ . '/src/Contract/PhpParser/Node/ContainsStmts.php';
3030
require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php';
3131
require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php';
3232
require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php';

preload.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function isPHPStanTestPreloaded(): bool
2626
}
2727

2828
require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node.php';
29-
require_once __DIR__ . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php';
29+
//require_once __DIR__ . '/src/Contract/PhpParser/Node/ContainsStmts.php';
3030
require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php';
3131
require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php';
3232
require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php';

rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Rector\CodeQuality\Rector\ClassMethod;
66

77
use PhpParser\Node;
8+
use PhpParser\Node\ContainsStmts;
89
use PhpParser\Node\Expr\Array_;
910
use PhpParser\Node\Expr\ArrayDimFetch;
1011
use PhpParser\Node\Expr\Assign;
@@ -16,7 +17,6 @@
1617
use PhpParser\Node\Stmt\Expression;
1718
use PhpParser\Node\Stmt\Return_;
1819
use Rector\CodeQuality\NodeAnalyzer\VariableDimFetchAssignResolver;
19-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
2020
use Rector\Exception\NotImplementedYetException;
2121
use Rector\Rector\AbstractRector;
2222
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
@@ -66,11 +66,11 @@ function getPerson()
6666
*/
6767
public function getNodeTypes(): array
6868
{
69-
return [StmtsAwareInterface::class];
69+
return [ContainsStmts::class];
7070
}
7171

7272
/**
73-
* @param StmtsAwareInterface $node
73+
* @param ContainsStmts $node
7474
*/
7575
public function refactor(Node $node): ?Node
7676
{

rules/CodeQuality/Rector/Foreach_/ForeachItemsAssignToEmptyArrayToAssignRector.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Rector\CodeQuality\Rector\Foreach_;
66

77
use PhpParser\Node;
8+
use PhpParser\Node\ContainsStmts;
89
use PhpParser\Node\Expr;
910
use PhpParser\Node\Expr\Array_;
1011
use PhpParser\Node\Expr\ArrayDimFetch;
@@ -15,7 +16,6 @@
1516
use PhpParser\Node\Stmt\Foreach_;
1617
use PhpParser\NodeVisitor;
1718
use Rector\CodeQuality\NodeAnalyzer\ForeachAnalyzer;
18-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
1919
use Rector\NodeAnalyzer\ExprAnalyzer;
2020
use Rector\PhpParser\Node\Value\ValueResolver;
2121
use Rector\Rector\AbstractRector;
@@ -75,11 +75,11 @@ public function run($items)
7575
*/
7676
public function getNodeTypes(): array
7777
{
78-
return [StmtsAwareInterface::class];
78+
return [ContainsStmts::class];
7979
}
8080

8181
/**
82-
* @param StmtsAwareInterface $node
82+
* @param ContainsStmts $node
8383
*/
8484
public function refactor(Node $node): ?Node
8585
{

rules/CodeQuality/Rector/Foreach_/ForeachToInArrayRector.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Rector\CodeQuality\Rector\Foreach_;
66

77
use PhpParser\Node;
8+
use PhpParser\Node\ContainsStmts;
89
use PhpParser\Node\Expr;
910
use PhpParser\Node\Expr\BinaryOp\Equal;
1011
use PhpParser\Node\Expr\BinaryOp\Identical;
@@ -15,7 +16,6 @@
1516
use PhpParser\Node\Stmt\If_;
1617
use PhpParser\Node\Stmt\Return_;
1718
use PhpParser\NodeFinder;
18-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
1919
use Rector\NodeManipulator\BinaryOpManipulator;
2020
use Rector\Php71\ValueObject\TwoNodeMatch;
2121
use Rector\PhpParser\Node\Value\ValueResolver;
@@ -64,11 +64,11 @@ public function getRuleDefinition(): RuleDefinition
6464
*/
6565
public function getNodeTypes(): array
6666
{
67-
return [StmtsAwareInterface::class];
67+
return [ContainsStmts::class];
6868
}
6969

7070
/**
71-
* @param StmtsAwareInterface $node
71+
* @param ContainsStmts $node
7272
*/
7373
public function refactor(Node $node): ?Node
7474
{

rules/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Rector\CodeQuality\Rector\Foreach_;
66

77
use PhpParser\Node;
8+
use PhpParser\Node\ContainsStmts;
89
use PhpParser\Node\Expr;
910
use PhpParser\Node\Expr\ArrayDimFetch;
1011
use PhpParser\Node\Expr\Assign;
@@ -16,7 +17,6 @@
1617
use PhpParser\Node\Stmt\Foreach_;
1718
use PhpParser\Node\Stmt\If_;
1819
use PhpParser\Node\Stmt\Return_;
19-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
2020
use Rector\Rector\AbstractRector;
2121
use Rector\ValueObject\PhpVersionFeature;
2222
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
@@ -57,11 +57,11 @@ public function getRuleDefinition(): RuleDefinition
5757
*/
5858
public function getNodeTypes(): array
5959
{
60-
return [StmtsAwareInterface::class];
60+
return [ContainsStmts::class];
6161
}
6262

6363
/**
64-
* @param StmtsAwareInterface $node
64+
* @param ContainsStmts $node
6565
*/
6666
public function refactor(Node $node): ?Node
6767
{

rules/CodeQuality/Rector/Foreach_/UnusedForeachValueToArrayKeysRector.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
use PhpParser\Node;
88
use PhpParser\Node\ArrayItem;
9+
use PhpParser\Node\ContainsStmts;
910
use PhpParser\Node\Expr;
1011
use PhpParser\Node\Expr\List_;
1112
use PhpParser\Node\Expr\Variable;
1213
use PhpParser\Node\Stmt\Foreach_;
13-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
1414
use Rector\DeadCode\NodeAnalyzer\ExprUsedInNodeAnalyzer;
1515
use Rector\NodeManipulator\StmtsManipulator;
1616
use Rector\PhpParser\Node\BetterNodeFinder;
@@ -71,11 +71,11 @@ public function run()
7171
*/
7272
public function getNodeTypes(): array
7373
{
74-
return [StmtsAwareInterface::class];
74+
return [ContainsStmts::class];
7575
}
7676

7777
/**
78-
* @param StmtsAwareInterface $node
78+
* @param ContainsStmts $node
7979
*/
8080
public function refactor(Node $node): ?Node
8181
{

rules/CodeQuality/Rector/FunctionLike/SimplifyUselessVariableRector.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use PhpParser\Comment\Doc;
88
use PhpParser\Node;
9+
use PhpParser\Node\ContainsStmts;
910
use PhpParser\Node\Expr\Assign;
1011
use PhpParser\Node\Expr\AssignOp;
1112
use PhpParser\Node\Expr\Ternary;
@@ -15,7 +16,6 @@
1516
use PhpParser\Node\Stmt\Return_;
1617
use PHPStan\Type\MixedType;
1718
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
18-
use Rector\Contract\PhpParser\Node\StmtsAwareInterface;
1919
use Rector\Contract\Rector\ConfigurableRectorInterface;
2020
use Rector\NodeAnalyzer\CallAnalyzer;
2121
use Rector\NodeAnalyzer\VariableAnalyzer;
@@ -106,11 +106,11 @@ function () {
106106
*/
107107
public function getNodeTypes(): array
108108
{
109-
return [StmtsAwareInterface::class];
109+
return [ContainsStmts::class];
110110
}
111111

112112
/**
113-
* @param StmtsAwareInterface $node
113+
* @param ContainsStmts $node
114114
*/
115115
public function refactor(Node $node): ?Node
116116
{
@@ -152,11 +152,11 @@ public function refactor(Node $node): ?Node
152152
}
153153

154154
private function processSimplifyUselessVariable(
155-
StmtsAwareInterface $stmtsAware,
155+
ContainsStmts $stmtsAware,
156156
Return_ $return,
157157
Assign|AssignOp $assign,
158158
int $key
159-
): ?StmtsAwareInterface {
159+
): ?ContainsStmts {
160160
if (! $assign instanceof Assign) {
161161
$binaryClass = $this->assignAndBinaryMap->getAlternative($assign);
162162
if ($binaryClass === null) {

0 commit comments

Comments
 (0)