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

Breadcrumb

  1. Drupal Core 11.1.x

BoundArgument.php

Namespace

Symfony\Component\DependencyInjection\Argument

File

vendor/symfony/dependency-injection/Argument/BoundArgument.php

View source
<?php


/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\DependencyInjection\Argument;


/**
 * @author Guilhem Niot <guilhem.niot@gmail.com>
 */
final class BoundArgument implements ArgumentInterface {
    public const SERVICE_BINDING = 0;
    public const DEFAULTS_BINDING = 1;
    public const INSTANCEOF_BINDING = 2;
    private static int $sequence = 0;
    private ?int $identifier = null;
    private ?bool $used = null;
    public function __construct(mixed $value, bool $trackUsage = true, int $type = 0, ?string $file = null) {
        if ($trackUsage) {
            $this->identifier = ++self::$sequence;
        }
        else {
            $this->used = true;
        }
    }
    public function getValues() : array {
        return [
            $this->value,
            $this->identifier,
            $this->used,
            $this->type,
            $this->file,
        ];
    }
    public function setValues(array $values) : void {
        if (5 === \count($values)) {
            [
                $this->value,
                $this->identifier,
                $this->used,
                $this->type,
                $this->file,
            ] = $values;
        }
        else {
            [
                $this->value,
                $this->identifier,
                $this->used,
            ] = $values;
        }
    }

}

Classes

Title Deprecated Summary
BoundArgument @author Guilhem Niot <guilhem.niot@gmail.com>
RSS feed
Powered by Drupal