rector icon indicating copy to clipboard operation
rector copied to clipboard

internal error (trying to remove the ->getDoctrine() call)

Open tacman opened this issue 3 years ago • 2 comments

The source file and entire error log are attached. I'm really just trying to get rid of the old getDoctrine() call.

    "rector/rector": "^0.13.9"
declare(strict_types=1);

use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector;
use Rector\Config\RectorConfig;
use Rector\Doctrine\Set\DoctrineSetList;
use Rector\Symfony\Set\SymfonySetList;
use Rector\Symfony\Set\SensiolabsSetList;
use Rector\Nette\Set\NetteSetList;
use Rector\Set\ValueObject\LevelSetList;
use Rector\CodeQuality\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictBoolReturnExprRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNewArrayRector;

return static function (RectorConfig $rectorConfig): void {
    $rectorConfig->paths([
        __DIR__ . '/src/Event'
    ]);

    $rectorConfig->rules([
//        \Rector\Symfony\Rector\Class_\CommandPropertyToAttributeRector::class,
//        ReturnTypeFromStrictBoolReturnExprRector::class,
//        ReturnTypeFromStrictNewArrayRector::class,
//        ReturnTypeFromStrictScalarReturnExprRector::class,
        \Rector\Symfony\Rector\MethodCall\GetHelperControllerToServiceRector::class
    ]);

    // register a single rule
    if (0)
    $rectorConfig->ruleWithConfiguration(
        \Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class,
        [
            new \Rector\Php80\ValueObject\AnnotationToAttribute('ApiPlatform\Core\Annotation\ApiFilter'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('ApiPlatform\Core\Annotation\ApiResource'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('ApiPlatform\Core\Annotation\ApiProperty'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('ApiPlatform\Core\Annotation\ApiSubresource'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\Tree'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\TreeRoot'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\TreeParent'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\TreeLeft'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\TreeLevel'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\TreeRight'),

            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\Timestampable'),
            new \Rector\Php80\ValueObject\AnnotationToAttribute('Gedmo\Mapping\Annotation\Slug'),




        ]
    );


    $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
    $rectorConfig->sets([
        LevelSetList::UP_TO_PHP_81,
        DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
        SymfonySetList::SYMFONY_60,
        SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES,
        NetteSetList::ANNOTATIONS_TO_ATTRIBUTES,
        SensiolabsSetList::FRAMEWORK_EXTRA_61,
    ]);
};


 [ERROR] Could not process "src/Controller/ProjectCoreController.php" file, due to:                                     
         "System error: "Internal error."                                                                               
                                                                                                                        
         Stack trace:                                                                                                   
         #0 phar://vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(302):    
         PHPStan\Analyser\NodeScopeResolver->processStmtNode()                                                          
         #1 vendor/rector/rector/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(287):             
         PHPStan\Analyser\NodeScopeResolver->processNodes()                                                             
         #2 vendor/rector/rector/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php(208):             
         Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->processNodesWithDependentFiles()               
         #3 vendor/rector/rector/src/Application/ChangedNodeScopeRefresher.php(99):                                     
         Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->processNodes()                                 
         #4 vendor/rector/rector/src/Rector/AbstractScopeAwareRector.php(42):                                           
         Rector\Core\Application\ChangedNodeScopeRefresher->refresh()                                                   
         #5 vendor/rector/rector/src/Rector/AbstractRector.php(204): Rector\Core\Rector\AbstractScopeAwareRector->refactor()
         #6 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(176):                          
         Rector\Core\Rector\AbstractRector->enterNode()                                                                 
         #7 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105):                          
         PhpParser\NodeTraverser->traverseArray()                                                                       
         #8 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196):                          
         PhpParser\NodeTraverser->traverseNode()                                                                        
         #9 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(105):                          
         PhpParser\NodeTraverser->traverseArray()                                                                       
         #10 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(196):                         
         PhpParser\NodeTraverser->traverseNode()                                                                        
         #11 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85):                          
         PhpParser\NodeTraverser->traverseArray()                                                                       
         #12 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(42): PhpParser\NodeTraverser->traverse()
         #13 vendor/rector/rector/src/Application/FileProcessor.php(61):                                                
         Rector\Core\PhpParser\NodeTraverser\RectorNodeTraverser->traverse()                                            
         #14 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(126):                              
         Rector\Core\Application\FileProcessor->refactor()                                                              
         #15 vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php(93):                               
         Rector\Core\Application\FileProcessor\PhpFileProcessor->refactorNodesWithRectors()                             
         #16 vendor/rector/rector/packages/Parallel/WorkerRunner.php(99):                                               
         Rector\Core\Application\FileProcessor\PhpFileProcessor->process()                                              
         #17 vendor/rector/rector/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):                   
         Rector\Parallel\WorkerRunner->Rector\Parallel\{closure}()                                                      
         #18 vendor/rector/rector/vendor/clue/ndjson-react/src/Decoder.php(110):                                        
         RectorPrefix202207\Evenement\EventEmitter->emit()                                                              
         #19 vendor/rector/rector/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):                   
         RectorPrefix202207\Clue\React\NDJson\Decoder->handleData()                                                     
         #20 vendor/rector/rector/vendor/react/stream/src/Util.php(62): RectorPrefix202207\Evenement\EventEmitter->emit()
         #21 vendor/rector/rector/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):                   
         RectorPrefix202207\React\Stream\Util::RectorPrefix202207\React\Stream\{closure}()                              
         #22 vendor/rector/rector/vendor/react/stream/src/DuplexResourceStream.php(154):                                
         RectorPrefix202207\Evenement\EventEmitter->emit()                                                              
         #23 vendor/rector/rector/vendor/react/event-loop/src/StreamSelectLoop.php(201):                                
         RectorPrefix202207\React\Stream\DuplexResourceStream->handleData()                                             
         #24 vendor/rector/rector/vendor/react/event-loop/src/StreamSelectLoop.php(173):                                
         RectorPrefix202207\React\EventLoop\StreamSelectLoop->waitForStreamActivity()                                   
         #25 vendor/rector/rector/src/Console/Command/WorkerCommand.php(63):                                            
         RectorPrefix202207\React\EventLoop\StreamSelectLoop->run()                                                     
         #26 vendor/rector/rector/vendor/symfony/console/Command/Command.php(307):                                      
         Rector\Core\Console\Command\WorkerCommand->execute()                                                           
         #27 vendor/rector/rector/vendor/symfony/console/Application.php(891):                                          
         RectorPrefix202207\Symfony\Component\Console\Command\Command->run()                                            
         #28 vendor/rector/rector/vendor/symfony/console/Application.php(310):                                          
         RectorPrefix202207\Symfony\Component\Console\Application->doRunCommand()                                       
         #29 vendor/rector/rector/src/Console/ConsoleApplication.php(49):                                               
         RectorPrefix202207\Symfony\Component\Console\Application->doRun()                                              
         #30 vendor/rector/rector/vendor/symfony/console/Application.php(208): Rector\Core\Console\ConsoleApplication->doRun()
         #31 vendor/rector/rector/bin/rector.php(128): RectorPrefix202207\Symfony\Component\Console\Application->run()  
         #32 vendor/rector/rector/bin/rector(5): require_once('...')                                                    
         #33 vendor/bin/rector(120): include('...')                                                                     
         #34 {main}". On line: 372                                                                                      

rector-bug.zip

tacman avatar Jul 29 '22 12:07 tacman

Actually, the problem is with $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);

So it's working now for me, but I'll leave it open in case it's of some value.

tacman avatar Jul 29 '22 12:07 tacman

I can't reproduce, could you create minimal reproduced in demo page https://getrector.org/demo ?

samsonasik avatar Aug 01 '22 04:08 samsonasik

Similar to https://github.com/rectorphp/rector/issues/7330

We'll need a demo link to process this propperly: https://getrector.org/demo

Feel free to re-open with a demo link or reproducible repository on Github :+1: Thank you :slightly_smiling_face:

TomasVotruba avatar Aug 17 '22 14:08 TomasVotruba