diff vendor/symfony/var-dumper/Cloner/Stub.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
line wrap: on
line diff
--- a/vendor/symfony/var-dumper/Cloner/Stub.php	Thu Feb 28 13:11:55 2019 +0000
+++ b/vendor/symfony/var-dumper/Cloner/Stub.php	Thu May 09 15:34:47 2019 +0100
@@ -39,22 +39,29 @@
     public $position = 0;
     public $attr = [];
 
+    private static $defaultProperties = [];
+
     /**
      * @internal
      */
     public function __sleep()
     {
-        $this->serialized = [$this->class, $this->position, $this->cut, $this->type, $this->value, $this->handle, $this->refCount, $this->attr];
+        $properties = [];
 
-        return ['serialized'];
-    }
+        if (!isset(self::$defaultProperties[$c = \get_class($this)])) {
+            self::$defaultProperties[$c] = get_class_vars($c);
 
-    /**
-     * @internal
-     */
-    public function __wakeup()
-    {
-        list($this->class, $this->position, $this->cut, $this->type, $this->value, $this->handle, $this->refCount, $this->attr) = $this->serialized;
-        unset($this->serialized);
+            foreach ((new \ReflectionClass($c))->getStaticProperties() as $k => $v) {
+                unset(self::$defaultProperties[$c][$k]);
+            }
+        }
+
+        foreach (self::$defaultProperties[$c] as $k => $v) {
+            if ($this->$k !== $v) {
+                $properties[] = $k;
+            }
+        }
+
+        return $properties;
     }
 }