-
-
Notifications
You must be signed in to change notification settings - Fork 738
Open
Description
While running Rector I get the following error, hence logging this report;
[ERROR] Could not process "/var/www/project/src/Command/ProcessEventChangesCommand.php" file, due to:
"System error: "assert($startLine > 0)"
Run Rector with "--debug" option and post the report here: https://github.com/rectorphp/rector/issues/new". On line: 181
After running with --debug I get the following output;
[ERROR] Could not process "/var/www/project/src/Command/ProcessEventChangesCommand.php" file, due to:
"System error: "assert($startLine > 0)"
Stack trace:
#0
phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/ReflectionClass
.php(181): assert(false, 'assert($startLi...')
#1
phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/ReflectionClass
.php(236):
PHPStan\BetterReflection\Reflection\ReflectionClass->__construct(Object(PHPStan\Reflection\BetterReflection\Re
flector\MemoizingReflector), Object(PhpParser\Node\Stmt\Class_),
Object(PHPStan\BetterReflection\SourceLocator\Located\LocatedSource), NULL)
#2
phar://vendor/phpstan/phpstan/phpstan.phar/src/Reflection/BetterReflection/BetterReflectionProvider.php(199):
PHPStan\BetterReflection\Reflection\ReflectionClass::createFromNode(Object(PHPStan\Reflection\BetterReflection</>
Reflector\MemoizingReflector), Object(PhpParser\Node\Stmt\Class_),
Object(PHPStan\BetterReflection\SourceLocator\Located\LocatedSource), NULL)
#3
phar://vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(52
):
PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getAnonymousClassReflection(Object(PhpParser\Nod
e\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope))
#4 vendor/rector/rector/src/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(540):
PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getAnonymousClassReflection(Object(PhpParse
r\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope))
#5 vendor/rector/rector/src/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(180):
Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->resolveClassOrInterfaceScope(Object(PhpParser\
Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope))
#6 phar://vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(560):
Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->{closure:Rector\NodeTypeResolver\PHPStan\Scope
\PHPStanNodeScopeResolver::processNodes():175}(Object(PhpParser\Node\Stmt\Class_),
Object(PHPStan\Analyser\MutatingScope))
#7 phar://vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(434):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#8 vendor/rector/rector/src/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(405):
PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope),
Object(Closure))
#9 vendor/rector/rector/src/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(347):
Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->nodeScopeResolverProcessNodes(Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#10 vendor/rector/rector/src/Application/ChangedNodeScopeRefresher.php(69):
Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->processNodes(Array, '/var/www/sbback...',
Object(PHPStan\Analyser\MutatingScope))
#11 vendor/rector/rector/src/Rector/AbstractRector.php(246):
Rector\Application\ChangedNodeScopeRefresher->refresh(Object(PhpParser\Node\Attribute), '/var/www/sbback...',
Object(PHPStan\Analyser\MutatingScope))
#12 vendor/rector/rector/src/Rector/AbstractRector.php(236):
Rector\Rector\AbstractRector->refreshScopeNodes(Object(PhpParser\Node\Attribute), '/var/www/sbback...',
Object(PHPStan\Analyser\MutatingScope))
#13 vendor/rector/rector/src/Rector/AbstractRector.php(140):
Rector\Rector\AbstractRector->postRefactorProcess(Object(PhpParser\Node\Attribute),
Object(PhpParser\Node\Attribute), Object(PhpParser\Node\Attribute), '/var/www/sbback...')
#14 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(160):
Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Attribute))
#15 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#16 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(187):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\AttributeGro
up))
#17 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#18 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(187):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Param))
#19 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#20 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(187):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMe
thod))
#21 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#22 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(187):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_)
)
#23 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#24 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(187):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespa
ce_))
#25 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(60):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
#26 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(51):
Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverse(Array)
#27 vendor/rector/rector/src/Application/FileProcessor.php(95):
Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array)
#28 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(178):
Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File),
Object(Rector\ValueObject\Configuration))
#29 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(152):
Rector\Application\ApplicationFileProcessor->processFile(Object(Rector\ValueObject\Application\File),
Object(Rector\ValueObject\Configuration))
#30 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128):
Rector\Application\ApplicationFileProcessor->processFiles(Array, Object(Rector\ValueObject\Configuration),
Object(Closure), Object(Closure))
#31 vendor/rector/rector/src/Console/Command/ProcessCommand.php(182):
Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration),
Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput))
#32 vendor/rector/rector/vendor/symfony/console/Command/Command.php(289):
Rector\Console\Command\ProcessCommand->execute(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvI
nput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
#33 vendor/rector/rector/vendor/symfony/console/Application.php(899):
RectorPrefix202512\Symfony\Component\Console\Command\Command->run(Object(RectorPrefix202512\Symfony\Component\
Console\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
#34 vendor/rector/rector/vendor/symfony/console/Application.php(279):
RectorPrefix202512\Symfony\Component\Console\Application->doRunCommand(Object(Rector\Console\Command\ProcessCo
mmand), Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
#35 vendor/rector/rector/src/Console/ConsoleApplication.php(60):
RectorPrefix202512\Symfony\Component\Console\Application->doRun(Object(RectorPrefix202512\Symfony\Component\Co
nsole\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
#36 vendor/rector/rector/vendor/symfony/console/Application.php(162):
Rector\Console\ConsoleApplication->doRun(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
#37 vendor/rector/rector/bin/rector.php(130): RectorPrefix202512\Symfony\Component\Console\Application->run()
#38 vendor/rector/rector/bin/rector(5): require_once('/var/www/projec...')
#39 bin/rector(119): include('/var/www/projec...')
#40 {main}". On line: 181
The container is running PHP 8.4 with a Symfony 7.4 app and my rector.php looks as follows:
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
return RectorConfig::configure()
->withPreparedSets(
deadCode: true,
codeQuality: true,
codingStyle: true,
typeDeclarations: true,
typeDeclarationDocblocks: true,
privatization: true,
naming: true,
instanceOf: true,
earlyReturn: true,
)
->withPhpSets()
->withComposerBased(
twig: true,
doctrine: true,
phpunit: true,
symfony: true,
)
->withPaths([
__DIR__ . '/src',
__DIR__ . '/tests',
])
;Since these are all Command classes the differences of the ones that fail are that these don't use the __invoke method but still the classic execute method.
Without invoke: https://symfony.com/doc/7.2/console.html#creating-a-command
With invoke: https://symfony.com/doc/7.4/console.html#creating-a-command
Metadata
Metadata
Assignees
Labels
No labels