Skip to content

System error: "Scope not available on "PhpParser\Node\Expr\Array_" node. #9610

Description

@vjik

Bug Report

SubjectDetails
Rector version2.3.2

Error:

[ERROR] Could not process "/projects/yiisoft/demo-blog/src/Infrastructure/Repository/DbCategoryRepository.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/rector/rector/rules/Php81/Rector/Array_/ArrayToFirstClassCallableRector.php(98): Rector\PHPStan\ScopeFetcher::fetch(Object(PhpParser\Node\Expr\Array_)) #1 vendor/rector/rector/src/Rector/AbstractRector.php(106): Rector\Php81\Rector\Array_\ArrayToFirstClassCallableRector->refactor(Object(PhpParser\Node\Expr\Array_)) #2 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(152): Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Expr\Array_)) #3 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Arg)) #4 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(140): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #5 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(180): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Expr\MethodCall)) #6 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(180): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Expr\MethodCall)) #7 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(180): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Expr\BinaryOp\Coalesce) ) #8 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Return_)) #9 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(140): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #10 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMethod)) #11 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(140): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #12 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_)) #13 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(140): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #14 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_)) #15 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(140): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #16 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(236): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseNode(Object(Rector\PhpParser\Node\FileNode)) #17 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(84): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverseArray(Array) #18 vendor/rector/rector/src/Application/FileProcessor.php(96): Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array) #19 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(178): Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File), Object(Rector\ValueObject\Configuration)) #20 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(152): Rector\Application\ApplicationFileProcessor->processFile(Object(Rector\ValueObject\Application\File), Object(Rector\ValueObject\Configuration)) #21 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128): Rector\Application\ApplicationFileProcessor->processFiles(Array, Object(Rector\ValueObject\Configuration), Object(Closure), Object(Closure)) #22 vendor/rector/rector/src/Console/Command/ProcessCommand.php(182): Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration), Object(RectorPrefix202601\Symfony\Component\Console\Input\ArgvInput)) #23 vendor/rector/rector/vendor/symfony/console/Command/Command.php(289): Rector\Console\Command\ProcessCommand->execute(Object(RectorPrefix202601\Symfony\Component\Console\Input\ArgvI nput), Object(RectorPrefix202601\Symfony\Component\Console\Output\ConsoleOutput)) #24 vendor/rector/rector/vendor/symfony/console/Application.php(899): RectorPrefix202601\Symfony\Component\Console\Command\Command->run(Object(RectorPrefix202601\Symfony\Component\ Console\Input\ArgvInput), Object(RectorPrefix202601\Symfony\Component\Console\Output\ConsoleOutput)) #25 vendor/rector/rector/vendor/symfony/console/Application.php(279): RectorPrefix202601\Symfony\Component\Console\Application->doRunCommand(Object(Rector\Console\Command\ProcessCo mmand), Object(RectorPrefix202601\Symfony\Component\Console\Input\ArgvInput), Object(RectorPrefix202601\Symfony\Component\Console\Output\ConsoleOutput)) #26 vendor/rector/rector/src/Console/ConsoleApplication.php(62): RectorPrefix202601\Symfony\Component\Console\Application->doRun(Object(RectorPrefix202601\Symfony\Component\Co nsole\Input\ArgvInput), Object(RectorPrefix202601\Symfony\Component\Console\Output\ConsoleOutput)) #27 vendor/rector/rector/vendor/symfony/console/Application.php(162): Rector\Console\ConsoleApplication->doRun(Object(RectorPrefix202601\Symfony\Component\Console\Input\ArgvInput), Object(RectorPrefix202601\Symfony\Component\Console\Output\ConsoleOutput)) #28 vendor/rector/rector/bin/rector.php(130): RectorPrefix202601\Symfony\Component\Console\Application->run() #29 vendor/rector/rector/bin/rector(5): require_once('/projects/yiiso...') #30 vendor/bin/rector(119): include('/projects/yiiso...') #31 {main}". On line: 19 

Minimal PHP Code Causing Issue

File: https://github.com/yiisoft/demo-blog/blob/40dda2b7a98c18e5fc8b5558cbe244c8cab433f3/src/Infrastructure/Repository/DbCategoryRepository.php

Expected Behaviour

No errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions