Commit 2715c78
fix(serializer): preserve deserialization path and expected type on IRI type-confusion guard
The type-confusion guard in AbstractItemNormalizer::getResourceFromIri()
threw a bare NotNormalizableValueException, dropping the deserialization
path and expected type. With COLLECT_DENORMALIZATION_ERRORS enabled,
DeserializeProvider::createViolationFromException() then produced an empty
"This value should be of type ." violation with no property path
(regression from #8333 vs 4.3.13).
Build the exception through createForUnexpectedDataType() so the path and
expected type are preserved, while keeping it a NotNormalizableValueException
so union/intersection denormalization still falls through to the next member.
Closes #8352
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent be26bbe commit 2715c78
2 files changed
Lines changed: 36 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
773 | 773 | | |
774 | 774 | | |
775 | 775 | | |
776 | | - | |
| 776 | + | |
777 | 777 | | |
778 | 778 | | |
779 | 779 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1329 | 1329 | | |
1330 | 1330 | | |
1331 | 1331 | | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
1332 | 1367 | | |
1333 | 1368 | | |
1334 | 1369 | | |
| |||
0 commit comments