protected function unserializePHP53(&$data)
{
if (!static::$unserializations++) {
static::$deserialized = array();
}
$this->code = unserialize($data);
if (isset(static::$deserialized[$this->code['self']->hash])) {
$this->closure = static::$deserialized[$this->code['self']->hash];
goto setcode;
}
static::$deserialized[$this->code['self']->hash] = null;
if ($this->code['use']) {
$this->code['use'] = array_map(array($this, 'mapPointers'), $this->code['use']);
extract($this->code['use'], EXTR_OVERWRITE | EXTR_REFS);
}
$this->closure = (include ClosureStream::STREAM_PROTO . '://' . $this->code['function']);
static::$deserialized[$this->code['self']->hash] = $this->closure;
setcode:
$this->code = $this->code['function'];
if (!--static::$unserializations) {
static::$deserialized = null;
}
}