From c67273f7b738cad42197d9f43a1e988dbe41fcbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20de=20Guillebon?= Date: Tue, 4 Oct 2022 18:18:18 +0200 Subject: [PATCH] Fix return type for union type with intersection --- src/Proxy/ProxyGenerator.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Proxy/ProxyGenerator.php b/src/Proxy/ProxyGenerator.php index 54275bc48..5d5b67e38 100644 --- a/src/Proxy/ProxyGenerator.php +++ b/src/Proxy/ProxyGenerator.php @@ -1224,6 +1224,10 @@ private function formatType( if ($type instanceof ReflectionUnionType) { return implode('|', array_map( function (ReflectionType $unionedType) use ($method, $parameter) { + if ($unionedType instanceof ReflectionIntersectionType) { + return '(' . $this->formatType($unionedType, $method, $parameter) . ')'; + } + return $this->formatType($unionedType, $method, $parameter); }, $type->getTypes()