Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0cdb808

Browse files
[VarDumper] add caster for WeakReference instances of PHP 7.4
1 parent 278a7ec commit 0cdb808

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

src/Symfony/Component/VarDumper/Caster/ReflectionCaster.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,13 @@ public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub
280280
return $a;
281281
}
282282

283+
public static function castReference(\ReflectionReference $c, array $a, Stub $stub, $isNested)
284+
{
285+
$a[Caster::PREFIX_VIRTUAL.'id'] = $c->getId();
286+
287+
return $a;
288+
}
289+
283290
public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, $isNested)
284291
{
285292
self::addMap($a, $c, [

src/Symfony/Component/VarDumper/Caster/SplCaster.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,13 @@ public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub
188188
return $a;
189189
}
190190

191+
public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, $isNested)
192+
{
193+
$a[Caster::PREFIX_VIRTUAL.'object'] = $c->get();
194+
195+
return $a;
196+
}
197+
191198
private static function castSplArray($c, array $a, Stub $stub, $isNested)
192199
{
193200
$prefix = Caster::PREFIX_VIRTUAL;

src/Symfony/Component/VarDumper/Cloner/AbstractCloner.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ abstract class AbstractCloner implements ClonerInterface
3838
'ReflectionMethod' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castMethod'],
3939
'ReflectionParameter' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castParameter'],
4040
'ReflectionProperty' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castProperty'],
41+
'ReflectionReference' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castReference'],
4142
'ReflectionExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castExtension'],
4243
'ReflectionZendExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castZendExtension'],
4344

@@ -109,6 +110,7 @@ abstract class AbstractCloner implements ClonerInterface
109110
'SplObjectStorage' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castObjectStorage'],
110111
'SplPriorityQueue' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castHeap'],
111112
'OuterIterator' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castOuterIterator'],
113+
'WeakReference' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castWeakReference'],
112114

113115
'Redis' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedis'],
114116
'RedisArray' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisArray'],

0 commit comments

Comments
 (0)