3434use function array_map ;
3535use function assert ;
3636use function is_array ;
37- use const PHP_VERSION_ID ;
3837
3938final class DefaultProcessor implements Processor
4039{
@@ -328,13 +327,13 @@ private function handleSentFields(
328327 }
329328
330329 $ property = $ fieldMeta ->property ;
331- $ className = $ property ->getDeclaringClass ()-> getName () ;
332- $ propertyName = $ property ->getName () ;
330+ $ className = $ property ->declaringClass ;
331+ $ propertyName = $ property ->name ;
333332 $ propertyContext = $ this ->propertyContextCache [$ className ][$ propertyName ]
334333 ?? (
335334 $ this ->propertyContextCache [$ className ][$ propertyName ] = new PropertyContext (
336335 $ fieldMeta ->default ,
337- $ fieldMeta ->property ->getName () ,
336+ $ fieldMeta ->property ->name ,
338337 $ fieldName ,
339338 ));
340339
@@ -581,18 +580,13 @@ private function fillObject(
581580 // Reset mapped properties state
582581 foreach ($ fieldsMeta as $ fieldMeta ) {
583582 $ property = $ fieldMeta ->property ;
584- $ declaringClass = $ property ->getDeclaringClass ();
585- $ name = $ property ->getName ();
586-
587- if (
588- $ property ->isInitialized ($ object )
589- && $ property ->isPublic ()
590- && (PHP_VERSION_ID < 8_01_00 || !$ property ->isReadOnly ())
591- ) {
583+ $ name = $ property ->name ;
584+
585+ if ($ property ->isPublicSet ) {
592586 unset($ object ->$ name );
593587 } else {
594588 // phpcs:disable SlevomatCodingStandard.Functions.StaticClosure
595- $ unsetter ->bindTo ($ object , $ declaringClass -> getName () )($ object , $ name );
589+ $ unsetter ->bindTo ($ object , $ property -> declaringClass )($ object , $ name );
596590 // phpcs:enable
597591 }
598592 }
@@ -603,14 +597,14 @@ private function fillObject(
603597 // Set processed data
604598 foreach ($ data as $ fieldName => $ value ) {
605599 $ property = $ fieldsMeta [$ fieldName ]->property ;
606- $ name = $ property ->getName () ;
600+ $ name = $ property ->name ;
607601
608- if ($ property ->isPublic () && ( PHP_VERSION_ID < 8_01_00 || ! $ property -> isReadOnly ()) ) {
602+ if ($ property ->isPublicSet ) {
609603 $ object ->$ name = $ value ;
610604 } else {
611605 $ setter ->bindTo (
612606 $ object ,
613- $ property ->getDeclaringClass ()-> getName () ,
607+ $ property ->declaringClass ,
614608 )($ object , $ name , $ value );
615609 }
616610 }
0 commit comments