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

Breadcrumb

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

function ArgsStub::__construct

Overrides EnumStub::__construct

File

vendor/symfony/var-dumper/Caster/ArgsStub.php, line 25

Class

ArgsStub
Represents a list of function arguments.

Namespace

Symfony\Component\VarDumper\Caster

Code

public function __construct(array $args, string $function, ?string $class) {
    [
        $variadic,
        $params,
    ] = self::getParameters($function, $class);
    $values = [];
    foreach ($args as $k => $v) {
        $values[$k] = !\is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
    }
    if (null === $params) {
        parent::__construct($values, false);
        return;
    }
    if (\count($values) < \count($params)) {
        $params = \array_slice($params, 0, \count($values));
    }
    elseif (\count($values) > \count($params)) {
        $values[] = new EnumStub(array_splice($values, \count($params)), false);
        $params[] = $variadic;
    }
    if ([
        '...',
    ] === $params) {
        parent::__construct($values[0]->value, false);
    }
    else {
        parent::__construct(array_combine($params, $values));
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal