Просмотр исходного кода

PhpdocVarAnnotationCorrectOrderFixer - fix for multiline `@var` without type

Kuba Werłos 5 лет назад
Родитель
Сommit
4e435e064c

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

@@ -52,7 +52,7 @@ $foo = 2 + 2;
             }
             }
 
 
             $newContent = Preg::replace(
             $newContent = Preg::replace(
-                '/(@(?:type|var)\s*)(\$\S+)(\s+)([^\$](?:[^<\s]|<[^>]*>)*)(\s|\*)/i',
+                '/(@(?:type|var)\s*)(\$\S+)(\h+)([^\$](?:[^<\s]|<[^>]*>)*)(\s|\*)/i',
                 '$1$4$3$2$5',
                 '$1$4$3$2$5',
                 $token->getContent()
                 $token->getContent()
             );
             );

+ 12 - 0
tests/Fixer/Phpdoc/PhpdocVarAnnotationCorrectOrderFixerTest.php

@@ -161,5 +161,17 @@ final class PhpdocVarAnnotationCorrectOrderFixerTest extends AbstractFixerTestCa
 /** @var $foo Foo|array<int, int>|null */
 /** @var $foo Foo|array<int, int>|null */
 ',
 ',
         ];
         ];
+
+        yield [
+            '<?php
+                class Foo
+                {
+                    /**
+                     * @var $bar
+                     */
+                    private $bar;
+                }
+            ',
+        ];
     }
     }
 }
 }