PHP 8 and PHPUnit 9.3 support

This commit is contained in:
Graham Campbell
2020-08-07 11:23:45 +01:00
parent 051ca73cae
commit 3cfadee2bb
11 changed files with 95 additions and 48 deletions

View File

@ -75,14 +75,15 @@ final class Container
if ($constructor !== null) {
$params = array_map(
function (ReflectionParameter $param) use ($id) {
$candidate = null;
$candidate = Reflection::getParameterClassName($param);
if ($param->getType() !== null && $param->getType()->isBuiltin()) {
$candidate = $param->getName();
} elseif ($param->getClass() !== null) {
$candidate = $param->getClass()->getName();
} else {
throw ShouldNotHappen::fromMessage(sprintf('The type of `$%s` in `%s` cannot be determined.', $id, $param->getName()));
if ($candidate === null) {
$type = $param->getType();
if ($type !== null && $type->isBuiltin()) {
$candidate = $param->getName();
} else {
throw ShouldNotHappen::fromMessage(sprintf('The type of `$%s` in `%s` cannot be determined.', $id, $param->getName()));
}
}
return $this->get($candidate);