Skip to content

System error: "Rector\Strict\NodeFactory\ExactCompareFactory::createBooleanAnd(): Return value #9113

@shakaran

Description

@shakaran

Bug Report

Subject Details
Rector version 2.0.11

Minimal PHP Code Causing Issue

->withPHPSets(php5.6:true)

Expected Behaviour

Trace

`[ERROR] Could not process "/srv/core/CoreBundle/src/Twig/IntlExtension.php" file, due to:
"System error: "Rector\Strict\NodeFactory\ExactCompareFactory::createBooleanAnd(): Return value must be of type
?PhpParser\Node\Expr\BinaryOp\BooleanAnd, PhpParser\Node\Expr\BinaryOp\NotIdentical returned"

     Stack trace:                                                                                                   
     #0 vendor/rector/rector/rules/Strict/NodeFactory/ExactCompareFactory.php(132):                                 
     Rector\Strict\NodeFactory\ExactCompareFactory->createBooleanAnd(Array)                                         
     #1 vendor/rector/rector/rules/Strict/NodeFactory/ExactCompareFactory.php(114):                                 
     Rector\Strict\NodeFactory\ExactCompareFactory->resolveFromCleanedNullUnionType(Object(PHPStan\Type\UnionType), 
     Object(PhpParser\Node\Expr\Variable), false)                                                                   
     #2 vendor/rector/rector/rules/Strict/NodeFactory/ExactCompareFactory.php(88):                                  
     Rector\Strict\NodeFactory\ExactCompareFactory->createFromUnionType(Object(PHPStan\Type\UnionType),             
     Object(PhpParser\Node\Expr\Variable), false, false)                                                            
     #3 vendor/rector/rector/rules/Strict/Rector/Ternary/DisallowedShortTernaryRuleFixerRector.php(83):             
     Rector\Strict\NodeFactory\ExactCompareFactory->createNotIdenticalFalsyCompare(Object(PHPStan\Type\UnionType),  
     Object(PhpParser\Node\Expr\Variable), false)                                                                   
     #4 vendor/rector/rector/src/Rector/AbstractRector.php(112):                                                    
     Rector\Strict\Rector\Ternary\DisallowedShortTernaryRuleFixerRector->refactor(Object(PhpParser\Node\Expr\Ternar 
     y))                                                                                                            
     #5 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(103):                          
     Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Expr\Ternary))                                   
     #6 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(125):                          
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Expr\Assign))                                      
     #7 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):                          
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Expression))                                  
     #8 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):                           
     PhpParser\NodeTraverser->traverseArray(Array)                                                                  
     #9 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):                          
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\If_))                                         
     #10 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):                          
     PhpParser\NodeTraverser->traverseArray(Array)                                                                  
     #11 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):                         
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMethod))                                 
     #12 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):                          
     PhpParser\NodeTraverser->traverseArray(Array)                                                                  
     #13 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):                         
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))                                      
     #14 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):                          
     PhpParser\NodeTraverser->traverseArray(Array)                                                                  
     #15 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):                         
     PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))                                  
     #16 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(71):                          
     PhpParser\NodeTraverser->traverseArray(Array)                                                                  
     #17 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(49):                              
     PhpParser\NodeTraverser->traverse(Array)                                                                       
     #18 vendor/rector/rector/src/Application/FileProcessor.php(95):                                                
     Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array)                                            
     #19 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(174):                                    
     Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File),                     
     Object(Rector\ValueObject\Configuration))                                                                      
     #20 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(151):                                    
     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(167):                                          
     Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration),                     
     Object(RectorPrefix202503\Symfony\Component\Console\Input\ArgvInput))                                          
     #23 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/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/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/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/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/rector/rector/bin/rector.php(130): RectorPrefix202503\Symfony\Component\Console\Application->run()  
     #29 vendor/rector/rector/bin/rector(5): require_once('vendor/rec...')                                          
     #30 {main}". On line: 183  `

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