From c56867592bb6c088e40634db4670a76f5d3b4c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20de=20Guillebon?= Date: Mon, 10 Oct 2022 10:12:57 +0200 Subject: [PATCH 1/5] Add missing strict parameter to in_array --- src/Proxy/ProxyGenerator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Proxy/ProxyGenerator.php b/src/Proxy/ProxyGenerator.php index 5d5b67e38..8019d418f 100644 --- a/src/Proxy/ProxyGenerator.php +++ b/src/Proxy/ProxyGenerator.php @@ -940,7 +940,7 @@ private function generateMethods(ClassMetadata $class) if ($this->isShortIdentifierGetter($method, $class)) { $identifier = lcfirst(substr($name, 3)); $fieldType = $class->getTypeOfField($identifier); - $cast = in_array($fieldType, ['integer', 'smallint']) ? '(int) ' : ''; + $cast = in_array($fieldType, ['integer', 'smallint'], true) ? '(int) ' : ''; $methods .= ' if ($this->__isInitialized__ === false) {' . "\n"; $methods .= ' '; From 607f45681e390c213b31b3ec574f1b4df9b18c85 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Sat, 29 Jul 2023 18:03:50 +0200 Subject: [PATCH 2/5] Add phpstan.neon.dist and psalm.xml to .gitattributes --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitattributes b/.gitattributes index 7f680d2d2..268f84059 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,5 @@ tests export-ignore .github export-ignore phpunit.xml.dist export-ignore /phpcs.xml.dist export-ignore +/phpstan.neon.dist export-ignore +/psalm.xml export-ignore From 8450e7c1f32c28e87a1fd821ecbff90b441b1b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= Date: Sat, 29 Jul 2023 18:18:23 +0200 Subject: [PATCH 3/5] Remove no longer needed ignore rules --- phpstan.neon.dist | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 748a07b21..beddadc4f 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -25,23 +25,15 @@ parameters: - message: '#^Result of method Doctrine\\Tests\\Common\\Proxy\\LazyLoadableObjectWithVoid::(adding|incrementing)AndReturningVoid\(\) \(void\) is used\.$#' path: 'tests/Common/Proxy/ProxyLogicVoidReturnTypeTest.php' - - - message: '#^Property Doctrine\\Tests\\Common\\Proxy\\ProxyLogicTest::\$initializerCallbackMock \(callable\(\): mixed&PHPUnit\\Framework\\MockObject\\MockObject\) does not accept PHPUnit\\Framework\\MockObject\\MockObject&stdClass\.$#' - path: 'tests/Common/Proxy/ProxyLogicTest.php' - message: '#.*LazyLoadableObject.*#' - paths: - - 'tests/Common/Proxy/ProxyLogicTest.php' - - 'tests/Common/Proxy/ProxyLogicVoidReturnTypeTest.php' + path: 'tests/Common/Proxy/ProxyLogicTest.php' - message: '#^Instantiated class Doctrine\\Tests\\Common\\ProxyProxy\\__CG__\\Doctrine\\Tests\\Common\\Proxy\\.* not found.$#' path: 'tests/Common/Proxy/ProxyLogicTest.php' - message: '#^Instantiated class Doctrine\\Tests\\Common\\ProxyProxy\\__CG__\\Doctrine\\Tests\\Common\\Proxy\\.* not found.$#' path: 'tests/Common/Proxy/ProxyLogicVoidReturnTypeTest.php' - - - message: '#^Property Doctrine\\Tests\\Common\\Proxy\\ProxyLogicVoidReturnTypeTest::\$initializerCallbackMock \(callable\(\): mixed&PHPUnit\\Framework\\MockObject\\MockObject\) does not accept PHPUnit\\Framework\\MockObject\\MockObject&stdClass\.$#' - path: 'tests/Common/Proxy/ProxyLogicVoidReturnTypeTest.php' - message: '#^Method Doctrine\\Tests\\Common\\Proxy\\MagicIssetClassWithInteger::__isset\(\) should return bool but returns int\.$#' path: 'tests/Common/Proxy/MagicIssetClassWithInteger.php' From 0a357f1bb08a95a2b170f7db19c9e775420b40b3 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Sun, 30 Jul 2023 11:57:51 +0200 Subject: [PATCH 4/5] Add doctrine-project.json to .gitattributes (#1004) --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 268f84059..d5583b1dd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ tests export-ignore +.doctrine-project.json export-ignore .gitattributes export-ignore .gitignore export-ignore .github export-ignore From 436543da57d6747768a2091a2b2352597d6b7910 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 16 Apr 2024 15:29:47 +0200 Subject: [PATCH 5/5] Generate explicit nullable types for proxies --- src/Proxy/ProxyGenerator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Proxy/ProxyGenerator.php b/src/Proxy/ProxyGenerator.php index 8019d418f..ec6fb1004 100644 --- a/src/Proxy/ProxyGenerator.php +++ b/src/Proxy/ProxyGenerator.php @@ -201,7 +201,7 @@ public function __setInitialized($initialized): void * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ - public function __setInitializer(\Closure $initializer = null): void + public function __setInitializer(?\Closure $initializer = null): void { $this->__initializer__ = $initializer; } @@ -219,7 +219,7 @@ public function __getInitializer(): ?\Closure * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ - public function __setCloner(\Closure $cloner = null): void + public function __setCloner(?\Closure $cloner = null): void { $this->__cloner__ = $cloner; }