Closed alex7070m closed 4 weeks ago
Please provide simple reproducible code and config, otherwise, nothing we can do.
composer.json:
{ "require": { "php": "^8.2" }, "require-dev": { "rector/rector": "^1.0" } }
rector.php:
`<?php
use Rector\Config\RectorConfig; use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictConstructorRector;
return RectorConfig::configure()
// register single rule
->withRules([
TypedPropertyFromStrictConstructorRector::class
])
// here we can define, what prepared sets of rules will be applied
->withPreparedSets(
deadCode: true,
codeQuality: true
)
->withoutParallel();`
The php file is very large (16468 lines) and the code does not fit here.
I give a report from the rector:
\Users\alexa\www\someproject\src\index.php" file, due to:
"System error: "Scope not available on "PhpParser\Node\Expr\Array_" node, but is required by a
refactorWithScope() method of "Rector\CodeQuality\Rector\Array_\CallableThisArrayToAnonymousFunctionRector"
#0 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Rector\AbstractRector.php(136):
Rector\Rector\AbstractScopeAwareRector->refactor()
#1
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(11
3): Rector\Rector\AbstractRector->enterNode()
#2
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(13
3): PhpParser\NodeTraverser->traverseNode()
#3
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#4
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#5
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#6
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#7
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#8
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#9
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#10
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#11
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#12
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#13
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(13
3): PhpParser\NodeTraverser->traverseNode()
#14
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#15
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(10
5): PhpParser\NodeTraverser->traverseArray()
#16
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(19
6): PhpParser\NodeTraverser->traverseNode()
#17
C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(85
): PhpParser\NodeTraverser->traverseArray()
#18
C:\Users\alexa\www\someproject\vendor\rector\rector\src\PhpParser\NodeTraverser\RectorNodeTraverser.php(41):
PhpParser\NodeTraverser->traverse()
#19 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Application\FileProcessor.php(111):
Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse()
#20 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Application\ApplicationFileProcessor.php(184):
Rector\Application\FileProcessor->processFile()
#21 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Application\ApplicationFileProcessor.php(161):
Rector\Application\ApplicationFileProcessor->processFile()
#22 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Application\ApplicationFileProcessor.php(138):
Rector\Application\ApplicationFileProcessor->processFiles()
#23 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Console\Command\ProcessCommand.php(117):
Rector\Application\ApplicationFileProcessor->run()
#24 C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\symfony\console\Command\Command.php(327):
Rector\Console\Command\ProcessCommand->execute()
#25 C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\symfony\console\Application.php(960):
RectorPrefix202404\Symfony\Component\Console\Command\Command->run()
#26 C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\symfony\console\Application.php(333):
RectorPrefix202404\Symfony\Component\Console\Application->doRunCommand()
#27 C:\Users\alexa\www\someproject\vendor\rector\rector\src\Console\ConsoleApplication.php(53):
RectorPrefix202404\Symfony\Component\Console\Application->doRun()
#28 C:\Users\alexa\www\someproject\vendor\rector\rector\vendor\symfony\console\Application.php(216):
Rector\Console\ConsoleApplication->doRun()
#29 C:\Users\alexa\www\someproject\vendor\rector\rector\bin\rector.php(130):
RectorPrefix202404\Symfony\Component\Console\Application->run()
#30 C:\Users\alexa\www\someproject\vendor\rector\rector\bin\rector(5): require_once('...')
#31 C:\Users\alexa\www\someproject\vendor\bin\rector(119): include('...')
#32 {main}". On line: 25
No code example, nothing we can do, please provide code example and config at https://getrector.com/demo
Like other issue you created, You need to invest time to narrow down rules half by half until it found the minimal rule(s) that cause it, and the expected output.
Read this post: https://tomasvotruba.com/blog/2021/02/01/effective-debug-tricks-narrow-scoping/
Hello! I ran into the following problem.
What does this mean and how to fix it?