Skip to content

Commit 7d3524d

Browse files
[Serializer] Make ProblemNormalizer give details about ValidationFailedException and PartialDenormalizationException
1 parent 26e7107 commit 7d3524d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Compiler/CheckTypeDeclarationsPass.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,17 @@ private function checkTypeDeclarations(Definition $checkedDefinition, \Reflectio
136136
$envPlaceholderUniquePrefix = $this->container->getParameterBag() instanceof EnvPlaceholderParameterBag ? $this->container->getParameterBag()->getEnvPlaceholderUniquePrefix() : null;
137137

138138
for ($i = 0; $i < $checksCount; ++$i) {
139-
if (!$reflectionParameters[$i]->hasType() || $reflectionParameters[$i]->isVariadic()) {
139+
$p = $reflectionParameters[$i];
140+
if (!$p->hasType() || $p->isVariadic()) {
141+
continue;
142+
}
143+
if (\array_key_exists($p->name, $values)) {
144+
$i = $p->name;
145+
} elseif (!\array_key_exists($i, $values)) {
140146
continue;
141147
}
142148

143-
$this->checkType($checkedDefinition, $values[$i], $reflectionParameters[$i], $envPlaceholderUniquePrefix);
149+
$this->checkType($checkedDefinition, $values[$i], $p, $envPlaceholderUniquePrefix);
144150
}
145151

146152
if ($reflectionFunction->isVariadic() && ($lastParameter = end($reflectionParameters))->hasType()) {

0 commit comments

Comments
 (0)