@@ -341,12 +341,10 @@ protected Collection<Object> _deserializeFromArray(JsonParser p, Deserialization
341
341
// [databind#631]: Assign current value, to be accessible by custom serializers
342
342
p .assignCurrentValue (result );
343
343
344
- JsonDeserializer <Object > valueDes = _valueDeserializer ;
345
344
// Let's offline handling of values with Object Ids (simplifies code here)
346
- if (valueDes .getObjectIdReader () != null ) {
345
+ if (_valueDeserializer .getObjectIdReader () != null ) {
347
346
return _deserializeWithObjectId (p , ctxt , result );
348
347
}
349
- final TypeDeserializer typeDeser = _valueTypeDeserializer ;
350
348
JsonToken t ;
351
349
while ((t = p .nextToken ()) != JsonToken .END_ARRAY ) {
352
350
try {
@@ -356,10 +354,10 @@ protected Collection<Object> _deserializeFromArray(JsonParser p, Deserialization
356
354
continue ;
357
355
}
358
356
value = _nullProvider .getNullValue (ctxt );
359
- } else if (typeDeser == null ) {
360
- value = valueDes .deserialize (p , ctxt );
357
+ } else if (_valueTypeDeserializer == null ) {
358
+ value = _valueDeserializer .deserialize (p , ctxt );
361
359
} else {
362
- value = valueDes .deserializeWithType (p , ctxt , typeDeser );
360
+ value = _valueDeserializer .deserializeWithType (p , ctxt , _valueTypeDeserializer );
363
361
}
364
362
if (value == null ) {
365
363
_tryToAddNull (p , ctxt , result );
@@ -400,9 +398,6 @@ protected final Collection<Object> handleNonArray(JsonParser p, DeserializationC
400
398
if (!canWrap ) {
401
399
return (Collection <Object >) ctxt .handleUnexpectedToken (_containerType , p );
402
400
}
403
- JsonDeserializer <Object > valueDes = _valueDeserializer ;
404
- final TypeDeserializer typeDeser = _valueTypeDeserializer ;
405
-
406
401
Object value ;
407
402
408
403
try {
@@ -412,11 +407,12 @@ protected final Collection<Object> handleNonArray(JsonParser p, DeserializationC
412
407
return result ;
413
408
}
414
409
value = _nullProvider .getNullValue (ctxt );
415
- } else if (typeDeser == null ) {
416
- value = valueDes .deserialize (p , ctxt );
410
+ } else if (_valueTypeDeserializer == null ) {
411
+ value = _valueDeserializer .deserialize (p , ctxt );
417
412
} else {
418
- value = valueDes .deserializeWithType (p , ctxt , typeDeser );
413
+ value = _valueDeserializer .deserializeWithType (p , ctxt , _valueTypeDeserializer );
419
414
}
415
+ // _skipNullValues is checked by _tryToAddNull.
420
416
if (value == null ) {
421
417
_tryToAddNull (p , ctxt , result );
422
418
return result ;
@@ -444,8 +440,6 @@ protected Collection<Object> _deserializeWithObjectId(JsonParser p, Deserializat
444
440
// [databind#631]: Assign current value, to be accessible by custom serializers
445
441
p .assignCurrentValue (result );
446
442
447
- final JsonDeserializer <Object > valueDes = _valueDeserializer ;
448
- final TypeDeserializer typeDeser = _valueTypeDeserializer ;
449
443
CollectionReferringAccumulator referringAccumulator =
450
444
new CollectionReferringAccumulator (_containerType .getContentType ().getRawClass (), result );
451
445
@@ -458,10 +452,10 @@ protected Collection<Object> _deserializeWithObjectId(JsonParser p, Deserializat
458
452
continue ;
459
453
}
460
454
value = _nullProvider .getNullValue (ctxt );
461
- } else if (typeDeser == null ) {
462
- value = valueDes .deserialize (p , ctxt );
455
+ } else if (_valueTypeDeserializer == null ) {
456
+ value = _valueDeserializer .deserialize (p , ctxt );
463
457
} else {
464
- value = valueDes .deserializeWithType (p , ctxt , typeDeser );
458
+ value = _valueDeserializer .deserializeWithType (p , ctxt , _valueTypeDeserializer );
465
459
}
466
460
if (value == null && _skipNullValues ) {
467
461
continue ;
0 commit comments