File tree 2 files changed +11
-15
lines changed
Filter options
src/Symfony/Component/VarDumper
2 files changed +11
-15
lines changed
Original file line number Diff line number Diff line change @@ -27,30 +27,25 @@ class SplCaster
27
27
\SplFileObject::READ_CSV => 'READ_CSV ' ,
28
28
);
29
29
30
- public static function castArrayObject (\ ArrayObject $ c , array $ a , Stub $ stub , $ isNested )
30
+ public static function castArrayObject ($ c , array $ a , Stub $ stub , $ isNested )
31
31
{
32
32
$ prefix = Caster::PREFIX_VIRTUAL ;
33
33
$ class = $ stub ->class ;
34
34
$ flags = $ c ->getFlags ();
35
35
36
- $ b = array (
36
+ if (!($ flags & \ArrayObject::STD_PROP_LIST )) {
37
+ $ c ->setFlags (\ArrayObject::STD_PROP_LIST );
38
+ $ a = Caster::castObject ($ c , new \ReflectionClass ($ class ));
39
+ $ c ->setFlags ($ flags );
40
+ }
41
+ $ a += array (
37
42
$ prefix .'flag::STD_PROP_LIST ' => (bool ) ($ flags & \ArrayObject::STD_PROP_LIST ),
38
43
$ prefix .'flag::ARRAY_AS_PROPS ' => (bool ) ($ flags & \ArrayObject::ARRAY_AS_PROPS ),
39
- $ prefix .'iteratorClass ' => $ c ->getIteratorClass (),
40
- $ prefix .'storage ' => $ c ->getArrayCopy (),
41
44
);
42
-
43
- if ('ArrayObject ' === $ class ) {
44
- $ a = $ b ;
45
- } else {
46
- if (!($ flags & \ArrayObject::STD_PROP_LIST )) {
47
- $ c ->setFlags (\ArrayObject::STD_PROP_LIST );
48
- $ a = Caster::castObject ($ c , new \ReflectionClass ($ class ));
49
- $ c ->setFlags ($ flags );
50
- }
51
-
52
- $ a += $ b ;
45
+ if ($ c instanceof \ArrayObject) {
46
+ $ a [$ prefix .'iteratorClass ' ] = $ c ->getIteratorClass ();
53
47
}
48
+ $ a [$ prefix .'storage ' ] = $ c ->getArrayCopy ();
54
49
55
50
return $ a ;
56
51
}
Original file line number Diff line number Diff line change @@ -89,6 +89,7 @@ abstract class AbstractCloner implements ClonerInterface
89
89
'AMQPEnvelope ' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castEnvelope ' ,
90
90
91
91
'ArrayObject ' => 'Symfony\Component\VarDumper\Caster\SplCaster::castArrayObject ' ,
92
+ 'ArrayIterator ' => 'Symfony\Component\VarDumper\Caster\SplCaster::castArrayObject ' ,
92
93
'SplDoublyLinkedList ' => 'Symfony\Component\VarDumper\Caster\SplCaster::castDoublyLinkedList ' ,
93
94
'SplFileInfo ' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileInfo ' ,
94
95
'SplFileObject ' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileObject ' ,
You can’t perform that action at this time.
0 commit comments