diff --git a/packages/NodeTypeResolver/Node/AttributeKey.php b/packages/NodeTypeResolver/Node/AttributeKey.php index fd0428c9c65..ad1f190438d 100644 --- a/packages/NodeTypeResolver/Node/AttributeKey.php +++ b/packages/NodeTypeResolver/Node/AttributeKey.php @@ -209,4 +209,10 @@ final class AttributeKey * @var string */ public const CREATED_BY_RULE = 'created_by_rule'; + + /** + * Provided by PHPStan parser, depth in sense of nesting + * @var string + */ + public const STATEMENT_DEPTH = 'statementDepth'; } diff --git a/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php b/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php index cf2a5fcfe6f..da6e593ec49 100644 --- a/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php +++ b/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php @@ -41,6 +41,11 @@ final class PHPStanNodeScopeResolver */ private const ANONYMOUS_CLASS_START_REGEX = '#^AnonymousClass(\w+)#'; + /** + * @var string + */ + private const CONTEXT = 'context'; + public function __construct( private ChangedFilesDetector $changedFilesDetector, private DependencyResolver $dependencyResolver, @@ -74,7 +79,7 @@ public function processNodes(array $stmts, SmartFileInfo $smartFileInfo): array $scopeContext = $this->traitScopeFaker->createDummyClassScopeContext($scope); $traitScope = clone $scope; - $this->privatesAccessor->setPrivateProperty($traitScope, 'context', $scopeContext); + $this->privatesAccessor->setPrivateProperty($traitScope, self::CONTEXT, $scopeContext); $traitScope = $traitScope->enterTrait($traitReflectionClass); diff --git a/rules/CodingStyle/Rector/FuncCall/CountArrayToEmptyArrayComparisonRector.php b/rules/CodingStyle/Rector/FuncCall/CountArrayToEmptyArrayComparisonRector.php index 66e05998468..8fadf07cefc 100644 --- a/rules/CodingStyle/Rector/FuncCall/CountArrayToEmptyArrayComparisonRector.php +++ b/rules/CodingStyle/Rector/FuncCall/CountArrayToEmptyArrayComparisonRector.php @@ -88,7 +88,6 @@ public function refactor(Node $node): ?Node } $parent = $node->getAttribute(AttributeKey::PARENT_NODE); - if (! $parent instanceof Node) { return null; } diff --git a/rules/Php80/Rector/Class_/ClassPropertyAssignToConstructorPromotionRector.php b/rules/Php80/Rector/Class_/ClassPropertyAssignToConstructorPromotionRector.php index cd9bf94ddc8..6d015fe2517 100644 --- a/rules/Php80/Rector/Class_/ClassPropertyAssignToConstructorPromotionRector.php +++ b/rules/Php80/Rector/Class_/ClassPropertyAssignToConstructorPromotionRector.php @@ -57,8 +57,9 @@ class SomeClass { public float $someVariable; - public function __construct(float $someVariable = 0.0) - { + public function __construct( + float $someVariable = 0.0 + ) { $this->someVariable = $someVariable; } } @@ -67,8 +68,9 @@ public function __construct(float $someVariable = 0.0) <<<'CODE_SAMPLE' class SomeClass { - public function __construct(private float $someVariable = 0.0) - { + public function __construct( + private float $someVariable = 0.0 + ) { } } CODE_SAMPLE diff --git a/rules/Php80/ValueObject/CondAndExpr.php b/rules/Php80/ValueObject/CondAndExpr.php index 8ccfa334714..889a3699747 100644 --- a/rules/Php80/ValueObject/CondAndExpr.php +++ b/rules/Php80/ValueObject/CondAndExpr.php @@ -10,10 +10,10 @@ final class CondAndExpr { /** - * @param Expr[] $condExprs + * @param Expr[]|null $condExprs */ public function __construct( - private array $condExprs, + private array|null $condExprs, private Expr $expr, private MatchKind $matchKind ) { @@ -25,7 +25,7 @@ public function getExpr(): Expr } /** - * @return Expr[] + * @return Expr[]|null */ public function getCondExprs(): array|null { diff --git a/rules/Renaming/Rector/FuncCall/RenameFunctionRector.php b/rules/Renaming/Rector/FuncCall/RenameFunctionRector.php index e80e13a056a..0d53bce5161 100644 --- a/rules/Renaming/Rector/FuncCall/RenameFunctionRector.php +++ b/rules/Renaming/Rector/FuncCall/RenameFunctionRector.php @@ -77,11 +77,11 @@ public function refactor(Node $node): ?Node } /** - * @param array> $configuration + * @param array $configuration */ public function configure(array $configuration): void { - $oldFunctionToNewFunction = $configuration[self::OLD_FUNCTION_TO_NEW_FUNCTION] ?? []; + $oldFunctionToNewFunction = $configuration[self::OLD_FUNCTION_TO_NEW_FUNCTION] ?? $configuration ?: []; Assert::allString($oldFunctionToNewFunction); Assert::allString(array_values($oldFunctionToNewFunction)); diff --git a/tests/Issues/Issue6675/Fixture/bare_stmts.php.inc b/tests/Issues/Issue6675/Fixture/bare_stmts.php.inc new file mode 100644 index 00000000000..838f67caf97 --- /dev/null +++ b/tests/Issues/Issue6675/Fixture/bare_stmts.php.inc @@ -0,0 +1,23 @@ + +----- + diff --git a/tests/Issues/Issue6675/Fixture/no_namespace.php.inc b/tests/Issues/Issue6675/Fixture/no_namespace.php.inc index 24544a8c9ff..c7e708c5908 100644 --- a/tests/Issues/Issue6675/Fixture/no_namespace.php.inc +++ b/tests/Issues/Issue6675/Fixture/no_namespace.php.inc @@ -1,13 +1,13 @@ -----