Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/http-kernel/DataCollector/DataCollector.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 1fec387a4317 |
children | af1871eacc83 |
line wrap: on
line diff
--- a/vendor/symfony/http-kernel/DataCollector/DataCollector.php Tue Jul 10 15:07:59 2018 +0100 +++ b/vendor/symfony/http-kernel/DataCollector/DataCollector.php Thu Feb 28 13:21:36 2019 +0000 @@ -28,7 +28,7 @@ */ abstract class DataCollector implements DataCollectorInterface, \Serializable { - protected $data = array(); + protected $data = []; /** * @var ValueExporter @@ -40,14 +40,23 @@ */ private $cloner; + /** + * @internal + */ public function serialize() { - return serialize($this->data); + $trace = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 2); + $isCalledFromOverridingMethod = isset($trace[1]['function'], $trace[1]['object']) && 'serialize' === $trace[1]['function'] && $this === $trace[1]['object']; + + return $isCalledFromOverridingMethod ? $this->data : serialize($this->data); } + /** + * @internal + */ public function unserialize($data) { - $this->data = unserialize($data); + $this->data = \is_array($data) ? $data : unserialize($data); } /** @@ -111,11 +120,11 @@ */ protected function getCasters() { - return array( + return [ '*' => function ($v, array $a, Stub $s, $isNested) { if (!$v instanceof Stub) { foreach ($a as $k => $v) { - if (is_object($v) && !$v instanceof \DateTimeInterface && !$v instanceof Stub) { + if (\is_object($v) && !$v instanceof \DateTimeInterface && !$v instanceof Stub) { $a[$k] = new CutStub($v); } } @@ -123,6 +132,6 @@ return $a; }, - ); + ]; } }