From 21824bf324601285d063102e4d8f9248d9618b5e Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Mon, 8 Jun 2026 20:59:39 +0900 Subject: [PATCH 1/2] Support Psalm 7 --- composer.json | 2 +- src/Handler/ValidateThrowHandler.php | 1 + src/Internal/ThrowCollectorVisitor.php | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 4e5a750..e395178 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ ], "require": { "php": "^8.3", - "vimeo/psalm": "^6.0@dev", + "vimeo/psalm": "7.x-dev@dev", "nikic/php-parser": "^5.0" }, "require-dev": { diff --git a/src/Handler/ValidateThrowHandler.php b/src/Handler/ValidateThrowHandler.php index fe8a6c0..f60e074 100644 --- a/src/Handler/ValidateThrowHandler.php +++ b/src/Handler/ValidateThrowHandler.php @@ -144,6 +144,7 @@ private static function resolveThrownClassNames(Node\Expr $expr, NodeTypeProvide return $names; } + /** @psalm-external-mutation-free */ private static function extendsDomainException(string $fqcn, Codebase $codebase): bool { if ($fqcn === self::DOMAIN_EXCEPTION) { diff --git a/src/Internal/ThrowCollectorVisitor.php b/src/Internal/ThrowCollectorVisitor.php index 80dbf48..5a1208f 100644 --- a/src/Internal/ThrowCollectorVisitor.php +++ b/src/Internal/ThrowCollectorVisitor.php @@ -23,6 +23,7 @@ final class ThrowCollectorVisitor extends NodeVisitorAbstract /** @var list */ public array $throws = []; + /** @psalm-external-mutation-free */ #[Override] public function enterNode(Node $node): int|null { From 5fa38fb15dc622613bb5b974a7881c347981da88 Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Wed, 10 Jun 2026 18:43:37 +0900 Subject: [PATCH 2/2] Use Psalm caret dev constraint --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index e395178..d47de8b 100644 --- a/composer.json +++ b/composer.json @@ -12,8 +12,8 @@ ], "require": { "php": "^8.3", - "vimeo/psalm": "7.x-dev@dev", - "nikic/php-parser": "^5.0" + "nikic/php-parser": "^5.0", + "vimeo/psalm": "^7.0@dev" }, "require-dev": { "phpunit/phpunit": "^12.2",