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

DX: Narrow docblock types in Tokenizer (#6293)

narrow docblock types in tokenizer
Jeremiasz Major 2 лет назад
Родитель
Сommit
fab645ba55

+ 3 - 3
phpstan.neon

@@ -23,7 +23,7 @@ parameters:
         -
             message: '#^Method .+ has parameter .+ with no value type specified in iterable type array\.$#'
             path: *
-            count: 379
+            count: 363
         -
             message: '#^Method .+ has parameter .+ with no value type specified in iterable type iterable\.$#'
             path: *
@@ -31,7 +31,7 @@ parameters:
         -
             message: '#^Method .+ return type has no value type specified in iterable type array\.$#'
             path: *
-            count: 163
+            count: 153
         -
             message: '#^Method .+ return type has no value type specified in iterable type iterable\.$#'
             path: *
@@ -43,6 +43,6 @@ parameters:
         -
             message: '#^Property .+ type has no value type specified in iterable type array\.$#'
             path: *
-            count: 38
+            count: 37
     tipsOfTheDay: false
     tmpDir: dev-tools/phpstan/cache

+ 3 - 0
src/Fixer/Alias/ModernizeStrposFixer.php

@@ -161,6 +161,9 @@ if (strpos($haystack, $needle) === false) {}
         }
     }
 
+    /**
+     * @param -1|1 $direction
+     */
     private function getCompareTokens(Tokens $tokens, int $offsetIndex, int $direction): ?array
     {
         $operatorIndex = $tokens->getMeaningfulTokenSibling($offsetIndex, $direction);

+ 0 - 1
src/Fixer/FunctionNotation/StaticLambdaFixer.php

@@ -115,7 +115,6 @@ final class StaticLambdaFixer extends AbstractFixer
                 break;
             }
 
-            /** @var null|array{isStart: bool, type: int} $blockType */
             $blockType = Tokens::detectBlockType($nextToken);
 
             if (null !== $blockType && $blockType['isStart']) {

+ 1 - 1
src/Fixer/Import/OrderedImportsFixer.php

@@ -462,7 +462,7 @@ use Bar;
                     }
 
                     $namespaceTokens = [];
-                    $nextPartIndex = $tokens->getTokenNotOfKindSibling($index, 1, [[','], [T_WHITESPACE]]);
+                    $nextPartIndex = $tokens->getTokenNotOfKindSibling($index, 1, [',', [T_WHITESPACE]]);
                     $startIndex = $nextPartIndex;
                     $index = $nextPartIndex;
 

+ 1 - 1
src/Fixer/LanguageConstruct/ErrorSuppressionFixer.php

@@ -174,7 +174,7 @@ final class ErrorSuppressionFixer extends AbstractFixer implements ConfigurableF
             return false;
         }
 
-        $endBraceIndex = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $tokens->getNextTokenOfKind($index, [T_STRING, '(']));
+        $endBraceIndex = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $tokens->getNextTokenOfKind($index, [[T_STRING], '(']));
         $prevIndex = $tokens->getPrevMeaningfulToken($endBraceIndex);
 
         if ($tokens[$prevIndex]->equals(',')) {

+ 3 - 0
src/Fixer/Operator/NoSpaceAroundDoubleColonFixer.php

@@ -54,6 +54,9 @@ final class NoSpaceAroundDoubleColonFixer extends AbstractFixer
         }
     }
 
+    /**
+     * @param -1|1 $direction
+     */
     private function removeSpace(Tokens $tokens, int $index, int $direction): void
     {
         if (!$tokens[$index + $direction]->isWhitespace()) {

+ 4 - 5
src/Fixer/Operator/OperatorLinebreakFixer.php

@@ -170,17 +170,16 @@ function foo() {
     {
         $colonIndices = [];
 
+        /** @var SwitchAnalysis $analysis */
         foreach (ControlCaseStructuresAnalyzer::findControlStructures($tokens, [T_SWITCH]) as $analysis) {
             foreach ($analysis->getCases() as $case) {
                 $colonIndices[] = $case->getColonIndex();
             }
 
-            if ($analysis instanceof SwitchAnalysis) {
-                $defaultAnalysis = $analysis->getDefaultAnalysis();
+            $defaultAnalysis = $analysis->getDefaultAnalysis();
 
-                if (null !== $defaultAnalysis) {
-                    $colonIndices[] = $defaultAnalysis->getColonIndex();
-                }
+            if (null !== $defaultAnalysis) {
+                $colonIndices[] = $defaultAnalysis->getColonIndex();
             }
         }
 

+ 4 - 5
src/Fixer/Operator/TernaryOperatorSpacesFixer.php

@@ -130,17 +130,16 @@ final class TernaryOperatorSpacesFixer extends AbstractFixer
     {
         $colonIndices = [];
 
+        /** @var SwitchAnalysis $analysis */
         foreach (ControlCaseStructuresAnalyzer::findControlStructures($tokens, [T_SWITCH]) as $analysis) {
             foreach ($analysis->getCases() as $case) {
                 $colonIndices[] = $case->getColonIndex();
             }
 
-            if ($analysis instanceof SwitchAnalysis) {
-                $defaultAnalysis = $analysis->getDefaultAnalysis();
+            $defaultAnalysis = $analysis->getDefaultAnalysis();
 
-                if (null !== $defaultAnalysis) {
-                    $colonIndices[] = $defaultAnalysis->getColonIndex();
-                }
+            if (null !== $defaultAnalysis) {
+                $colonIndices[] = $defaultAnalysis->getColonIndex();
             }
         }
 

+ 0 - 1
src/Fixer/StringNotation/StringLengthToEmptyFixer.php

@@ -292,7 +292,6 @@ final class StringLengthToEmptyFixer extends AbstractFunctionReferenceFixer
                 continue;
             }
 
-            /** @var null|array{isStart: bool, type: int} $blockType */
             $blockType = Tokens::detectBlockType($token);
 
             if (null !== $blockType && $blockType['isStart']) {

+ 3 - 3
src/Tokenizer/Analyzer/Analysis/EnumAnalysis.php

@@ -20,12 +20,12 @@ namespace PhpCsFixer\Tokenizer\Analyzer\Analysis;
 final class EnumAnalysis extends AbstractControlCaseStructuresAnalysis
 {
     /**
-     * @var CaseAnalysis[]
+     * @var list<CaseAnalysis>
      */
     private array $cases;
 
     /**
-     * @param CaseAnalysis[] $cases
+     * @param list<CaseAnalysis> $cases
      */
     public function __construct(int $index, int $open, int $close, array $cases)
     {
@@ -35,7 +35,7 @@ final class EnumAnalysis extends AbstractControlCaseStructuresAnalysis
     }
 
     /**
-     * @return CaseAnalysis[]
+     * @return list<CaseAnalysis>
      */
     public function getCases(): array
     {

Некоторые файлы не были показаны из-за большого количества измененных файлов