Skip to content

Commit

Permalink
[BetterPhpDocParser] Handle nested doctrine annotation with single qu…
Browse files Browse the repository at this point in the history
…ote content (#5281)
  • Loading branch information
samsonasik committed Nov 23, 2023
1 parent 51695ae commit 06eb108
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ private function resolveFqnAnnotationSpacelessPhpDocTagNode(
$formerStartEnd = $phpDocTextNode->getAttribute(PhpDocAttributeKey::START_AND_END);

if (isset($nestedAnnotationOpen[1])) {
$annotationContent = '("' . trim($nestedAnnotationOpen[1], '"') . '")';
$annotationContent = '("' . trim($nestedAnnotationOpen[1], '"\'') . '")';
}

$spacelessPhpDocTagNodes[] = $this->createDoctrineSpacelessPhpDocTagNode(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?php

namespace Rector\Core\Tests\Issues\FqcnAnnotationToAttribute\Fixture;

/**
* @\Doctrine\ORM\Mapping\Entity()
* @\Doctrine\ORM\Mapping\Table('user', indexes={
* @\Doctrine\ORM\Mapping\Index(name="name_index", columns={"name"}),
* @\Doctrine\ORM\Mapping\Index(name="surname_index", columns={"surname"}),
* })
* @\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity("azureB2cUuid")
* @\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity("uuid")
* @\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity("email")
*/
class SingleQuote
{
/**
* @\Symfony\Component\Validator\Constraints\NotBlank()
* @\Symfony\Component\Validator\Constraints\Email(mode="strict")
* @\Doctrine\ORM\Mapping\Column(type="string", unique=true)
* @\Symfony\Component\Serializer\Annotation\Groups({"import", "export-user", "export-claim"})
*/
protected string $email = "";
}

?>
-----
<?php

namespace Rector\Core\Tests\Issues\FqcnAnnotationToAttribute\Fixture;

#[\Doctrine\ORM\Mapping\Entity]
#[\Doctrine\ORM\Mapping\Index(name: 'name_index', columns: ['name'])]
#[\Doctrine\ORM\Mapping\Index(name: 'surname_index', columns: ['surname'])]
#[\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity('azureB2cUuid')]
#[\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity('uuid')]
#[\Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity('email')]
#[\Doctrine\ORM\Mapping\Table('user')]
class SingleQuote
{
#[\Symfony\Component\Validator\Constraints\NotBlank]
#[\Symfony\Component\Validator\Constraints\Email(mode: 'strict')]
#[\Doctrine\ORM\Mapping\Column(type: 'string', unique: true)]
#[\Symfony\Component\Serializer\Annotation\Groups(['import', 'export-user', 'export-claim'])]
protected string $email = "";
}

?>

0 comments on commit 06eb108

Please sign in to comment.