function SplCaster::castSplArray
2 calls to SplCaster::castSplArray()
- SplCaster::castArrayIterator in vendor/
symfony/ var-dumper/ Caster/ SplCaster.php - SplCaster::castArrayObject in vendor/
symfony/ var-dumper/ Caster/ SplCaster.php
File
-
vendor/
symfony/ var-dumper/ Caster/ SplCaster.php, line 232
Class
- SplCaster
- Casts SPL related classes to array representation.
Namespace
Symfony\Component\VarDumper\CasterCode
private static function castSplArray(\ArrayObject|\ArrayIterator $c, array $a, Stub $stub, bool $isNested) : array {
$prefix = Caster::PREFIX_VIRTUAL;
$flags = $c->getFlags();
if (!($flags & \ArrayObject::STD_PROP_LIST)) {
$c->setFlags(\ArrayObject::STD_PROP_LIST);
$a = Caster::castObject($c, $c::class, method_exists($c, '__debugInfo'), $stub->class);
$c->setFlags($flags);
}
unset($a["\x00ArrayObject\x00storage"], $a["\x00ArrayIterator\x00storage"]);
$a += [
$prefix . 'storage' => $c->getArrayCopy(),
$prefix . 'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST),
$prefix . 'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS),
];
if ($c instanceof \ArrayObject) {
$a[$prefix . 'iteratorClass'] = new ClassStub($c->getIteratorClass());
}
return $a;
}