diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php index 3bb275a4d3c13..32c0a192079f7 100644 --- a/lib/private/AppFramework/Utility/SimpleContainer.php +++ b/lib/private/AppFramework/Utility/SimpleContainer.php @@ -73,13 +73,13 @@ private function buildClass(ReflectionClass $class) { } return $class->newInstanceArgs(array_map(function (ReflectionParameter $parameter) { - $parameterClass = $parameter->getClass(); + $parameterType = $parameter->getType(); + + $resolveName = $parameter->getName(); // try to find out if it is a class or a simple parameter - if ($parameterClass === null) { - $resolveName = $parameter->getName(); - } else { - $resolveName = $parameterClass->name; + if ($parameterType !== null && !$parameterType->isBuiltin()) { + $resolveName = $parameterType->getName(); } try { @@ -91,7 +91,7 @@ private function buildClass(ReflectionClass $class) { return $parameter->getDefaultValue(); } - if ($parameterClass !== null) { + if ($parameter !== null && !$parameterType->isBuiltin()) { $resolveName = $parameter->getName(); return $this->query($resolveName); }