Browse Source

Merge branch 'master' into 3.0

Dariusz Ruminski 3 years ago
parent
commit
985a3f240f

+ 1 - 1
doc/rules/class_notation/final_internal_class.rst

@@ -29,7 +29,7 @@ of the white list ones are used as well. (case insensitive)
 
 Allowed types: ``array``
 
-Default value: ``['@final', '@Entity', '@ORM\\Entity', '@ORM\\Mapping\\Entity', '@Mapping\\Entity']``
+Default value: ``['@final', '@Entity', '@ORM\\Entity', '@ORM\\Mapping\\Entity', '@Mapping\\Entity', '@Document', '@ODM\\Document']``
 
 ``consider_absent_docblock_as_internal_class``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ 2 - 0
src/Fixer/ClassNotation/FinalInternalClassFixer.php

@@ -166,6 +166,8 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
                     '@ORM\Entity',
                     '@ORM\Mapping\Entity',
                     '@Mapping\Entity',
+                    '@Document',
+                    '@ODM\Document',
                 ])
                 ->setNormalizer($annotationsNormalizer)
                 ->getOption(),

+ 1 - 1
src/Fixer/Phpdoc/PhpdocTypesOrderFixer.php

@@ -167,7 +167,7 @@ final class PhpdocTypesOrderFixer extends AbstractFixer implements ConfigurableF
     private function sortTypes(array $types): array
     {
         foreach ($types as $index => $type) {
-            $types[$index] = Preg::replaceCallback('/^([^<]+)<(?:([\w\|]+?)(,\s*))?(.*)>$/', function (array $matches) {
+            $types[$index] = Preg::replaceCallback('/^([^<]+)<(?:([\w\|]+?|<?.*>)(,\s*))?(.*)>$/', function (array $matches) {
                 return $matches[1].'<'.$this->sortJoinedTypes($matches[2]).$matches[3].$this->sortJoinedTypes($matches[4]).'>';
             }, $type);
         }

+ 2 - 0
tests/Fixer/ClassNotation/FinalClassFixerTest.php

@@ -40,6 +40,8 @@ final class FinalClassFixerTest extends AbstractFixerTestCase
             ['<?php use Doctrine\ORM\Mapping as ORM; /** @ORM\Entity */ class MyEntity {}'],
             ['<?php use Doctrine\ORM\Mapping; /** @Mapping\Entity */ class MyEntity {}'],
             ['<?php use Doctrine\ORM; /** @ORM\Mapping\Entity */ class MyEntity {}'],
+            ['<?php /** @Document */ class MyDocument {}'],
+            ['<?php use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; /** @ODM\Document */ class MyEntity {}'],
             ['<?php /** @entity */ class MyEntity {}'],
             ['<?php use Doctrine\ORM\Mapping as ORM; /** @orm\entity */ class MyEntity {}'],
             ['<?php abstract class MyAbstract {}'],

+ 3 - 0
tests/Fixer/Phpdoc/PhpdocTypesOrderFixerTest.php

@@ -141,6 +141,9 @@ final class PhpdocTypesOrderFixerTest extends AbstractFixerTestCase
                 '<?php /** @method void bar(null|string $delimiter = \',<br/>\') */',
                 '<?php /** @method void bar(string|null $delimiter = \',<br/>\') */',
             ],
+            [
+                '<?php /** @var array<array<int, int>, OutputInterface> */',
+            ],
         ];
     }