Commit d06be0ff authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Gestion des UnionTypes pour le constructeur de déclaration de méthodes

parent 0a09e060
Loading
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -637,10 +637,24 @@ class Util
                if ($parameter->getType()->allowsNull()) {
                    $params .= '?';
                }
                if (class_exists($parameter->getType()->getName())) {
                $type = $parameter->getType();
                if ($type instanceof \ReflectionUnionType){
                    $first = true;
                    foreach($type->getTypes() as $pt){
                        if (!$first) $params .= '|';
                        if (class_exists($pt->getName())) {
                            $params .= '\\';
                        }
                $params .= (string)$parameter->getType()->getName() . ' ';
                        $params .= (string)$pt->getName();
                        $first = false;
                    }
                    $params .= ' ';
                }else{
                    if (class_exists($type->getName())) {
                        $params .= '\\';
                    }
                    $params .= (string)$type->getName() . ' ';
                }
            }

            $params .= '$' . $parameter->getName();