rector: Fatal error: Uncaught TypeError: ExpectationAnalyzer::isValidAtCall(): Argument #1 ($methodCall) must be of type PhpParser\Node\Expr\MethodCall
Bug Report
| Subject | Details |
|---|---|
| Rector version | ^0.12.15 (75c0b27d37ee34844b0eb5faf35742c6631d5ab2) |
Error:
./bin/rector
11/2156 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%PHP Fatal error: Uncaught TypeError: Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer::isValidAtCall(): Argument #1 ($methodCall) must be of type PhpParser\Node\Expr\MethodCall, PhpParser\Node\Expr\StaticCall given, called in vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php on line 58 and defined in vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php:83
Stack trace:
#0 vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php(58): Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer->isValidAtCall()
#1 vendor/rector/rector/vendor/rector/rector-phpunit/src/Rector/ClassMethod/MigrateAtToConsecutiveExpectationsRector.php(71): Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer->getExpectationsFromExpressions()
#2 vendor/rector/rector/src/Rector/AbstractRector.php(243): Rector\PHPUnit\Rector\ClassMethod\MigrateAtToConsecutiveExpectationsRector->refactor()
#3 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(176): Rector\Core\Rector\AbstractRector->enterNode()
#4 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105): PhpParser\NodeTraverser->traverseArray()
#5 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196): PhpParser\NodeTraverser->traverseNode()
#6 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105): PhpParser\NodeTraverser->traverseArray()
#7 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196): PhpParser\NodeTraverser->traverseNode()
#8 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85): PhpParser\NodeTraverser->traverseArray()
#9 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(56): PhpParser\NodeTraverser->traverse()
#10 vendor/rector/rector/src/Application/FileProcessor.php(54): Rector\Core\PhpParser\NodeTraverser\RectorNodeTraverser->traverse()
#11 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(137): Rector\Core\Application\FileProcessor->refactor()
#12 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(101): Rector\Core\Application\FileProcessor\PhpFileProcessor->refactorNodesWithRectors()
#13 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(175): Rector\Core\Application\FileProcessor\PhpFileProcessor->process()
#14 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(148): Rector\Core\Application\ApplicationFileProcessor->processFiles()
#15 vendor/rector/rector/src/Console/Command/ProcessCommand.php(147): Rector\Core\Application\ApplicationFileProcessor->run()
#16 vendor/rector/rector/vendor/symfony/console/Command/Command.php(282): Rector\Core\Console\Command\ProcessCommand->execute()
#17 vendor/rector/rector/vendor/symfony/console/Application.php(853): RectorPrefix20220126\Symfony\Component\Console\Command\Command->run()
#18 vendor/rector/rector/vendor/symfony/console/Application.php(289): RectorPrefix20220126\Symfony\Component\Console\Application->doRunCommand()
#19 vendor/rector/rector/src/Console/ConsoleApplication.php(67): RectorPrefix20220126\Symfony\Component\Console\Application->doRun()
#20 vendor/rector/rector/vendor/symfony/console/Application.php(187): Rector\Core\Console\ConsoleApplication->doRun()
#21 vendor/rector/rector/bin/rector.php(57): RectorPrefix20220126\Symfony\Component\Console\Application->run()
#22 vendor/rector/rector/bin/rector(5): require_once('...')
#23 {main}
thrown in vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php on line 83
Fatal error: Uncaught TypeError: Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer::isValidAtCall(): Argument #1 ($methodCall) must be of type PhpParser\Node\Expr\MethodCall, PhpParser\Node\Expr\StaticCall given, called in vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php on line 58 and defined in vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php:83
Stack trace:
#0 vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeAnalyzer/ExpectationAnalyzer.php(58): Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer->isValidAtCall()
#1 vendor/rector/rector/vendor/rector/rector-phpunit/src/Rector/ClassMethod/MigrateAtToConsecutiveExpectationsRector.php(71): Rector\PHPUnit\NodeAnalyzer\ExpectationAnalyzer->getExpectationsFromExpressions()
#2 vendor/rector/rector/src/Rector/AbstractRector.php(243): Rector\PHPUnit\Rector\ClassMethod\MigrateAtToConsecutiveExpectationsRector->refactor()
#3 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(176): Rector\Core\Rector\AbstractRector->enterNode()
#4 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105): PhpParser\NodeTraverser->traverseArray()
#5 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196): PhpParser\NodeTraverser->traverseNode()
#6 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105): PhpParser\NodeTraverser->traverseArray()
#7 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196): PhpParser\NodeTraverser->traverseNode()
#8 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85): PhpParser\NodeTraverser->traverseArray()
#9 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(56): PhpParser\NodeTraverser->traverse()
#10 vendor/rector/rector/src/Application/FileProcessor.php(54): Rector\Core\PhpParser\NodeTraverser\RectorNodeTraverser->traverse()
#11 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(137): Rector\Core\Application\FileProcessor->refactor()
#12 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(101): Rector\Core\Application\FileProcessor\PhpFileProcessor->refactorNodesWithRectors()
#13 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(175): Rector\Core\Application\FileProcessor\PhpFileProcessor->process()
#14 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(148): Rector\Core\Application\ApplicationFileProcessor->processFiles()
#15 vendor/rector/rector/src/Console/Command/ProcessCommand.php(147): Rector\Core\Application\ApplicationFileProcessor->run()
#16 vendor/rector/rector/vendor/symfony/console/Command/Command.php(282): Rector\Core\Console\Command\ProcessCommand->execute()
#17 vendor/rector/rector/vendor/symfony/console/Application.php(853): RectorPrefix20220126\Symfony\Component\Console\Command\Command->run()
#18 vendor/rector/rector/vendor/symfony/console/Application.php(289): RectorPrefix20220126\Symfony\Component\Console\Application->doRunCommand()
#19 vendor/rector/rector/src/Console/ConsoleApplication.php(67): RectorPrefix20220126\Symfony\Component\Console\Application->doRun()
#20 vendor/rector/rector/vendor/symfony/console/Application.php(187): Rector\Core\Console\ConsoleApplication->doRun()
#21 vendor/rector/rector/bin/rector.php(57): RectorPrefix20220126\Symfony\Component\Console\Application->run()
#22 vendor/rector/rector/bin/rector(5): require_once('...')
rector.php
<?php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
// get parameters
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/tests'
]);
// Define what rule sets will be applied
// $containerConfigurator->import(LevelSetList::UP_TO_PHP_74);
// get services (needed for register a single rule)
$services = $containerConfigurator->services();
// register a single rule
$services->set(Rector\PHPUnit\Rector\ClassMethod\MigrateAtToConsecutiveExpectationsRector::class);
};
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 19 (11 by maintainers)
Commits related to this issue
- add failing fixture for https://github.com/rectorphp/rector/issues/6976 — committed to rectorphp/rector-phpunit by TomasVotruba 2 years ago
We’ll need a test fixture in the rule itself. See my last 2 PRs on how to add them.
That worked, thanks! 👍
Next PR fix: https://github.com/rectorphp/rector-phpunit/pull/42
I’ll check it… possibly string too 😃
Thanks!
Fixed in https://github.com/rectorphp/rector-phpunit/pull/41
Thanks 👍 , I’m looking into it