SpacePossum 4 лет назад
Родитель
Сommit
3b6ca4edb9

+ 12 - 6
src/Fixer/LanguageConstruct/SingleSpaceAfterConstructFixer.php

@@ -302,15 +302,21 @@ yield  from  baz();
     {
         $hasMoreThanOneAncestor = false;
 
-        for ($i = $index + 1; $i < $tokens->getNextTokenOfKind($index, ['{']); ++$i) {
-            $token = $tokens[$i];
+        while (++$index) {
+            $token = $tokens[$index];
 
-            if (false !== strpos($token->getContent(), "\n") && $hasMoreThanOneAncestor) {
-                return true;
+            if ($token->equals(',')) {
+                $hasMoreThanOneAncestor = true;
+
+                continue;
             }
 
-            if (',' === $token->getContent()) {
-                $hasMoreThanOneAncestor = true;
+            if ($token->equals('{')) {
+                return false;
+            }
+
+            if ($hasMoreThanOneAncestor && false !== strpos($token->getContent(), "\n")) {
+                return true;
             }
         }
 

+ 17 - 17
tests/Fixer/LanguageConstruct/SingleSpaceAfterConstructFixerTest.php

@@ -921,44 +921,44 @@ $foo;',
                 '<?php class Foo extends  /* foo */\InvalidArgumentException {}',
             ],
             [
-                '<?php interface Foo extends Bar {}',
-                '<?php interface Foo extends  Bar {}',
+                '<?php interface Foo extends Bar1 {}',
+                '<?php interface Foo extends  Bar1 {}',
             ],
             [
-                '<?php interface Foo extends Bar {}',
+                '<?php interface Foo extends Bar2 {}',
                 '<?php interface Foo extends
 
-Bar {}',
+Bar2 {}',
             ],
             [
-                '<?php interface Foo extends /* foo */Bar {}',
-                '<?php interface Foo extends/* foo */Bar {}',
+                '<?php interface Foo extends /* foo */Bar3 {}',
+                '<?php interface Foo extends/* foo */Bar3 {}',
             ],
             [
-                '<?php interface Foo extends /* foo */Bar {}',
-                '<?php interface Foo extends  /* foo */Bar {}',
+                '<?php interface Foo extends /* foo */Bar4 {}',
+                '<?php interface Foo extends  /* foo */Bar4 {}',
             ],
             [
-                '<?php interface Foo extends Bar, Baz, Qux {}',
-                '<?php interface Foo extends  Bar, Baz, Qux {}',
+                '<?php interface Foo extends Bar5, Baz, Qux {}',
+                '<?php interface Foo extends  Bar5, Baz, Qux {}',
             ],
             [
-                '<?php interface Foo extends Bar, Baz, Qux {}',
+                '<?php interface Foo extends Bar6, Baz, Qux {}',
                 '<?php interface Foo extends
 
-Bar, Baz, Qux {}',
+Bar6, Baz, Qux {}',
             ],
             [
-                '<?php interface Foo extends /* foo */Bar, Baz, Qux {}',
-                '<?php interface Foo extends/* foo */Bar, Baz, Qux {}',
+                '<?php interface Foo extends /* foo */Bar7, Baz, Qux {}',
+                '<?php interface Foo extends/* foo */Bar7, Baz, Qux {}',
             ],
             [
-                '<?php interface Foo extends /* foo */Bar, Baz, Qux {}',
-                '<?php interface Foo extends  /* foo */Bar, Baz, Qux {}',
+                '<?php interface Foo extends /* foo */Bar8, Baz, Qux {}',
+                '<?php interface Foo extends  /* foo */Bar8, Baz, Qux {}',
             ],
             [
                 '<?php interface Foo extends
-    Bar,
+    Bar9,
     Baz,
     Qux
 {}',