src/Debug/AbstractObject.php
private function addPropertiesDebug(Event $abs)
    {
        if (!$abs['collectPropertyValues']) {
            return;
        }
        if (!$abs['viaDebugInfo']) {
            // using __debugInfo is disabled, or object does not have __debugInfo method
            return;
        }
        $obj = $abs->getSubject();
        $debugInfo = \call_user_func(array($obj, '__debugInfo'));
        $properties = $abs['properties'];
        foreach ($properties as $name => $info) {
            if (\array_key_exists($name, $abs['propertyOverrideValues'])) {
                // we're using override value
                unset($debugInfo[$name]);
                continue;
            }
            if (\array_key_exists($name, $debugInfo)) {
                if ($debugInfo[$name] !== $info['value']) {
                    $properties[$name]['value'] = $debugInfo[$name];
                    $properties[$name]['valueFrom'] = 'debugInfo';
                }
                unset($debugInfo[$name]);
                continue;
            }
            $isPrivateAncestor = \in_array('private', (array) $info['visibility']) && $info['inheritedFrom'];
            if ($isPrivateAncestor) {
                // exempt from isExcluded
                continue;
            }
            $properties[$name]['isExcluded'] = true;
        }
        foreach ($debugInfo as $name => $value) {
            $properties[$name] = \array_merge(
                static::$basePropInfo,
                array(
                    'value' => $value,
                    'valueFrom' => 'debugInfo',
                    'visibility' => 'debug',    // indicates this property is exclusive to debugInfo
                )
            );
        }
        $abs['properties'] = $properties;
    }
private function addPropertiesDebug(Event $abs)
    {
        if (!$abs['collectPropertyValues']) {
            return;
        }
        if (!$abs['viaDebugInfo']) {
            // using __debugInfo is disabled, or object does not have __debugInfo method
            return;
        }
        $obj = $abs->getSubject();
        $debugInfo = \call_user_func(array($obj, '__debugInfo'));
        $properties = $abs['properties'];
        foreach ($properties as $name => $info) {
            if (\array_key_exists($name, $abs['propertyOverrideValues'])) {
                // we're using override value
                unset($debugInfo[$name]);
                continue;
            }
            if (\array_key_exists($name, $debugInfo)) {
                if ($debugInfo[$name] !== $info['value']) {
                    $properties[$name]['value'] = $debugInfo[$name];
                    $properties[$name]['valueFrom'] = 'debugInfo';
                }
                unset($debugInfo[$name]);
                continue;
            }
            $isPrivateAncestor = \in_array('private', (array) $info['visibility']) && $info['inheritedFrom'];
            if ($isPrivateAncestor) {
                // exempt from isExcluded
                continue;
            }
            $properties[$name]['isExcluded'] = true;
        }
        foreach ($debugInfo as $name => $value) {
            $properties[$name] = \array_merge(
                static::$basePropInfo,
                array(
                    'value' => $value,
                    'valueFrom' => 'debugInfo',
                    'visibility' => 'debug',    // indicates this property is exclusive to debugInfo
                )
            );
        }
        $abs['properties'] = $properties;
    }
private function addPropertiesDebug ( Event $ abs ) { if ( ! $ abs [ 'collectPropertyValues' ] ) { return ; } if ( ! $ abs [ 'viaDebugInfo' ] ) { // using __debugInfo is disabled, or object does not have __debugInfo method return ; } $ obj = $ abs -> getSubject ( ) ; $ debugInfo = \ call_user_func ( array ( $ obj , '__debugInfo' ) ) ; $ properties = $ abs [ 'properties' ] ; foreach ( $ properties as $ name => $ info ) { if ( \ array_key_exists ( $ name , $ abs [ 'propertyOverrideValues' ] ) ) { // we're using override value unset ( $ debugInfo [ $ name ] ) ; continue ; } if ( \ array_key_exists ( $ name , $ debugInfo ) ) { if ( $ debugInfo [ $ name ] !== $ info [ 'value' ] ) { $ properties [ $ name ] [ 'value' ] = $ debugInfo [ $ name ] ; $ properties [ $ name ] [ 'valueFrom' ] = 'debugInfo' ; } unset ( $ debugInfo [ $ name ] ) ; continue ; } $ isPrivateAncestor = \ in_array ( 'private' , ( array ) $ info [ 'visibility' ] ) && $ info [ 'inheritedFrom' ] ; if ( $ isPrivateAncestor ) { // exempt from isExcluded continue ; } $ properties [ $ name ] [ 'isExcluded' ] = true ; } foreach ( $ debugInfo as $ name => $ value ) { $ properties [ $ name ] = \ array_merge ( static :: $ basePropInfo , array ( 'value' => $ value , 'valueFrom' => 'debugInfo' , 'visibility' => 'debug' , // indicates this property is exclusive to debugInfo ) ) ; } $ abs [ 'properties' ] = $ properties ; }
Add/Update properties with info from __debugInfo method

@param Event $abs Abstraction event object

@return void
Add / Update properties with info from __debugInfo method