<?php namespace Symfony\Component\PropertyInfo\Extractor; use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; use Symfony\Component\TypeInfo\Type; final class ConstructorExtractor implements PropertyTypeExtractorInterface { public function __construct( private readonly iterable $extractors = [], ) { } public function getType(string $class, string $property, array $context = []): ?Type { foreach ($this->extractors as $extractor) { if (null !== $value = $extractor->getTypeFromConstructor($class, $property)) { return $value; } } return null; } public function getTypes(string $class, string $property, array $context = []): ?array { trigger_deprecation('symfony/property-info', '7.3', 'The "%s()" method is deprecated, use "%s::getType()" instead.', __METHOD__, self::class); foreach ($this->extractors as $extractor) { $value = $extractor->getTypesFromConstructor($class, $property); if (null !== $value) { return $value; } } return null; } }