From 5eb19c1ce672dd90b5e5a1c68f7f87ab4d836025 Mon Sep 17 00:00:00 2001 From: orklah Date: Wed, 14 Oct 2020 23:28:24 +0200 Subject: [PATCH] ambiguous php version checks --- src/Psalm/Type/Atomic/TAnonymousClassInstance.php | 4 +++- src/Psalm/Type/Atomic/TCallableObject.php | 4 +++- src/Psalm/Type/Atomic/TVoid.php | 4 +++- src/Psalm/Type/Union.php | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Psalm/Type/Atomic/TAnonymousClassInstance.php b/src/Psalm/Type/Atomic/TAnonymousClassInstance.php index 4c29dc84c83..8b6a264a34a 100644 --- a/src/Psalm/Type/Atomic/TAnonymousClassInstance.php +++ b/src/Psalm/Type/Atomic/TAnonymousClassInstance.php @@ -10,7 +10,9 @@ public function toPhpString( int $php_major_version, int $php_minor_version ): ?string { - return $php_major_version >= 7 && $php_minor_version >= 2 ? 'object' : null; + return $php_major_version > 7 + || ($php_major_version === 7 && $php_minor_version >= 2) + ? 'object' : null; } /** diff --git a/src/Psalm/Type/Atomic/TCallableObject.php b/src/Psalm/Type/Atomic/TCallableObject.php index af4cc428700..1272d877ccd 100644 --- a/src/Psalm/Type/Atomic/TCallableObject.php +++ b/src/Psalm/Type/Atomic/TCallableObject.php @@ -23,7 +23,9 @@ public function toPhpString( int $php_major_version, int $php_minor_version ): ?string { - return $php_major_version >= 7 && $php_minor_version >= 2 ? 'object' : null; + return $php_major_version > 7 + || ($php_major_version === 7 && $php_minor_version >= 2) + ? 'object' : null; } public function canBeFullyExpressedInPhp(): bool diff --git a/src/Psalm/Type/Atomic/TVoid.php b/src/Psalm/Type/Atomic/TVoid.php index d73e19b0dff..c8f30eb0378 100644 --- a/src/Psalm/Type/Atomic/TVoid.php +++ b/src/Psalm/Type/Atomic/TVoid.php @@ -23,7 +23,9 @@ public function toPhpString( int $php_major_version, int $php_minor_version ): ?string { - return $php_major_version >= 7 && $php_minor_version >= 1 ? $this->getKey() : null; + return $php_major_version > 7 + || ($php_major_version === 7 && $php_minor_version >= 1) + ? $this->getKey() : null; } public function canBeFullyExpressedInPhp(): bool diff --git a/src/Psalm/Type/Union.php b/src/Psalm/Type/Union.php index e5e0ffca089..7731fae4ce0 100644 --- a/src/Psalm/Type/Union.php +++ b/src/Psalm/Type/Union.php @@ -452,7 +452,7 @@ public function toPhpString( if (!$this->isSingleAndMaybeNullable() || $php_major_version < 7 - || (isset($this->types['null']) && $php_minor_version < 1) + || (isset($this->types['null']) && $php_major_version === 7 && $php_minor_version < 1) ) { return null; }