Description
I tried Rector 2 and it failed on the following file:
<?php declare(strict_types=1);
namespace App;
use Symfony\Component\Serializer\Annotation\Context;
class Post
{
private function __construct(
/**
* @Context(normalizationContext={"groups": "public"})
*/
public array $images,
) {
}
}
Executing it with debug mode yielded the following:
Stack trace
Could not process "/path/to/Post.php" file, due to:
"System error: "Scope not available on "PhpParser\Node\Expr\Array_" node. Fix scope refresh on changed nodes first"
Stack trace:
#0 vendor-bin/rector/vendor/rector/rector/rules/Php81/Rector/Array_/FirstClassCallableRector.php(100):
Rector\PHPStan\ScopeFetcher::fetch(Object(PhpParser\Node\Expr\Array_))
#1 vendor-bin/rector/vendor/rector/rector/src/Rector/AbstractRector.php(112):
Rector\Php81\Rector\Array_\FirstClassCallableRector->refactor(Object(PhpParser\Node\Expr\Array_))
#2 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(103):
Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Expr\Array_))
#3 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Arg))
#4 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#5 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Attribute))
#6 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#7 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\AttributeGroup))
#8 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#9 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Param))
#10 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#11 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMethod))
#12 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#13 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#14 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray(Array)
#15 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#16 vendor-bin/rector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(71):
PhpParser\NodeTraverser->traverseArray(Array)
#17 vendor-bin/rector/vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(49):
PhpParser\NodeTraverser->traverse(Array)
#18 vendor-bin/rector/vendor/rector/rector/src/Application/FileProcessor.php(95):
Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array)
#19 vendor-bin/rector/vendor/rector/rector/src/Application/ApplicationFileProcessor.php(174):
Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File),
Object(Rector\ValueObject\Configuration))
#20 vendor-bin/rector/vendor/rector/rector/src/Application/ApplicationFileProcessor.php(151):
Rector\Application\ApplicationFileProcessor->processFile(Object(Rector\ValueObject\Application\File),
Object(Rector\ValueObject\Configuration))
#21 vendor-bin/rector/vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128):
Rector\Application\ApplicationFileProcessor->processFiles(Array, Object(Rector\ValueObject\Configuration),
Object(Closure), Object(Closure))
#22 vendor-bin/rector/vendor/rector/rector/src/Console/Command/ProcessCommand.php(162):
Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration),
Object(RectorPrefix202503\Symfony\Component\Console\Input\ArgvInput))
#23 vendor-bin/rector/vendor/rector/rector/vendor/symfony/console/Command/Command.php(285):
Rector\Console\Command\ProcessCommand->execute(Object(RectorPrefix202503\Symfony\Component\Console\Input\ArgvI
nput), Object(RectorPrefix202503\Symfony\Component\Console\Output\ConsoleOutput))
#24 vendor-bin/rector/vendor/rector/rector/vendor/symfony/console/Application.php(900):
RectorPrefix202503\Symfony\Component\Console\Command\Command->run(Object(RectorPrefix202503\Symfony\Component\
Console\Input\ArgvInput), Object(RectorPrefix202503\Symfony\Component\Console\Output\ConsoleOutput))
#25 vendor-bin/rector/vendor/rector/rector/vendor/symfony/console/Application.php(279):
RectorPrefix202503\Symfony\Component\Console\Application->doRunCommand(Object(Rector\Console\Command\ProcessCo
mmand), Object(RectorPrefix202503\Symfony\Component\Console\Input\ArgvInput),
Object(RectorPrefix202503\Symfony\Component\Console\Output\ConsoleOutput))
#26 vendor-bin/rector/vendor/rector/rector/src/Console/ConsoleApplication.php(53):
RectorPrefix202503\Symfony\Component\Console\Application->doRun(Object(RectorPrefix202503\Symfony\Component\Co
nsole\Input\ArgvInput), Object(RectorPrefix202503\Symfony\Component\Console\Output\ConsoleOutput))
#27 vendor-bin/rector/vendor/rector/rector/vendor/symfony/console/Application.php(162):
Rector\Console\ConsoleApplication->doRun(Object(RectorPrefix202503\Symfony\Component\Console\Input\ArgvInput),
Object(RectorPrefix202503\Symfony\Component\Console\Output\ConsoleOutput))
#28 vendor-bin/rector/vendor/rector/rector/bin/rector.php(130):
RectorPrefix202503\Symfony\Component\Console\Application->run()
#29 vendor-bin/rector/vendor/rector/rector/bin/rector(5): require_once('/Users/tfidry/P...')
#30 vendor-bin/rector/vendor/bin/rector(119): include('/Users/tfidry/P...')
#31 {main}". On line: 19
System info:
PHP version | 8.2.27 |
Rector version | 2.0.10 |
symfony/serializer | 5.4.28 |
Metadata
Metadata
Assignees
Labels
No labels
Activity