diff --git a/phpstan.neon b/phpstan.neon index 3f0fa0994e7..8fd15450e65 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -467,5 +467,12 @@ parameters: # false positive - - identifier: phpstanApi.varTagAssumption - path: rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddReturnDocblockForDimFetchArrayFromAssignsRector.php + identifier: phpstanApi.varTagAssumption + path: rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddReturnDocblockForDimFetchArrayFromAssignsRector.php + + # bug, fix in symplify/phpstan-rules + - + identifier: symplify.noMissnamedDocTag + paths: + - rules/Php74/NodeAnalyzer/ClosureArrowFunctionAnalyzer.php + - rules/TypeDeclarationDocblocks/TypeResolver/ConstantArrayTypeGeneralizer.php diff --git a/rules-tests/Php83/Rector/ClassConst/AddTypeToConstRector/Fixture/handle_private_abstract.php.inc b/rules-tests/Php83/Rector/ClassConst/AddTypeToConstRector/Fixture/handle_private_abstract.php.inc new file mode 100644 index 00000000000..8aaefb59ebc --- /dev/null +++ b/rules-tests/Php83/Rector/ClassConst/AddTypeToConstRector/Fixture/handle_private_abstract.php.inc @@ -0,0 +1,19 @@ + +----- + diff --git a/rules/Php83/Rector/ClassConst/AddTypeToConstRector.php b/rules/Php83/Rector/ClassConst/AddTypeToConstRector.php index e6ada69f31f..dd1f5799d70 100644 --- a/rules/Php83/Rector/ClassConst/AddTypeToConstRector.php +++ b/rules/Php83/Rector/ClassConst/AddTypeToConstRector.php @@ -78,10 +78,6 @@ public function refactor(Node $node): ?Class_ return null; } - if ($node->isAbstract()) { - return null; - } - $classConsts = $node->getConstants(); if ($classConsts === []) { return null; @@ -99,6 +95,10 @@ public function refactor(Node $node): ?Class_ } foreach ($classConst->consts as $constNode) { + if ($node->isAbstract() && ! $classConst->isPrivate()) { + continue; + } + if ($this->isConstGuardedByParents($constNode, $parentClassReflections)) { continue; }