| Subject |
Details |
| PHP version |
PHP 7.3 |
| Full Command |
./vendor/bin/rector process --set symfony33 src/AppBundle/Controller/PaymentController.php --debug |
Current Behaviour
Rector v0.5.13
[parsing] /Users/gostrolucky/PhpstormProjects/calida/community/src/AppBundle/Controller/PaymentController.php
[refactoring] /Users/gostrolucky/PhpstormProjects/calida/community/src/AppBundle/Controller/PaymentController.php
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
[applying] Rector\Rector\Argument\ArgumentAdderRector
[applying] Rector\Renaming\Rector\Class_\RenameClassRector
PHP Fatal error: Uncaught Rector\Exception\ShouldNotHappenException: Look at "Rector\BetterPhpDocParser\PhpDocNodeFactory\Doctrine\Class_\EntityPhpDocNodeFactory::createFromNodeAndTokens()" on line 24 in /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocNodeFactory/Doctrine/Class_/EntityPhpDocNodeFactory.php:24
Stack trace:
#0 /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocParser/BetterPhpDocParser.php(159): Rector\BetterPhpDocParser\PhpDocNodeFactory\Doctrine\Class_\EntityPhpDocNodeFactory->createFromNodeAndTokens(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\PhpDocParser\Parser\TokenIterator))
#1 /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocParser/BetterPhpDocParser.php(141): Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser->parseTagValue(Object(PHPStan\PhpDocParser\Parser\TokenIterator), '@Entity')
#2 /Users/gostr in /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocNodeFactory/Doctrine/Class_/EntityPhpDocNodeFactory.php on line 24
Fatal error: Uncaught Rector\Exception\ShouldNotHappenException: Look at "Rector\BetterPhpDocParser\PhpDocNodeFactory\Doctrine\Class_\EntityPhpDocNodeFactory::createFromNodeAndTokens()" on line 24 in /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocNodeFactory/Doctrine/Class_/EntityPhpDocNodeFactory.php:24
Stack trace:
#0 /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocParser/BetterPhpDocParser.php(159): Rector\BetterPhpDocParser\PhpDocNodeFactory\Doctrine\Class_\EntityPhpDocNodeFactory->createFromNodeAndTokens(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\PhpDocParser\Parser\TokenIterator))
#1 /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocParser/BetterPhpDocParser.php(141): Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser->parseTagValue(Object(PHPStan\PhpDocParser\Parser\TokenIterator), '@Entity')
#2 /Users/gostr in /Users/gostrolucky/PhpstormProjects/calida/community/vendor/rector/rector/packages/BetterPhpDocParser/src/PhpDocNodeFactory/Doctrine/Class_/EntityPhpDocNodeFactory.php on line 24
use AppBundle\Document;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Entity;
use Symfony\Component\HttpFoundation\Response;
final class PaymentController extends Controller
{
/**
* @Entity("user", expr="repository.findOneBy({'legalInformation.payment.uboDeclarationId': uboDeclarationId})")
*/
public function hookUboAction(Document\User $user): Response
{
return new Response();
}
}
Expected Behaviour
This is not an ORM\Entity, but Sensio Entity annotation. Doc parser contains logic to compare full namespace, but failing to do so ignores it for some reason and matches only last part of FCQN. It should not match EntityPhpDocNodeFactory for given example code.
Current Behaviour
Expected Behaviour
This is not an ORM\Entity, but Sensio Entity annotation. Doc parser contains logic to compare full namespace, but failing to do so ignores it for some reason and matches only last part of FCQN. It should not match EntityPhpDocNodeFactory for given example code.