Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SplCaster.php

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\Caster

Code

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;
}
RSS feed
Powered by Drupal