|
14 | 14 | use Composer\InstalledVersions;
|
15 | 15 | use Http\Client\HttpAsyncClient;
|
16 | 16 | use Http\Client\HttpClient;
|
| 17 | +use Symfony\Component\TypeInfo\TypeResolver\PhpDocAwareReflectionTypeResolver; |
17 | 18 | use phpDocumentor\Reflection\DocBlockFactoryInterface;
|
18 | 19 | use phpDocumentor\Reflection\Types\ContextFactory;
|
19 | 20 | use PhpParser\Parser;
|
@@ -1974,11 +1975,21 @@ private function registerTypeInfoConfiguration(ContainerBuilder $container, PhpF
|
1974 | 1975 | if (ContainerBuilder::willBeAvailable('phpstan/phpdoc-parser', PhpDocParser::class, ['symfony/framework-bundle', 'symfony/type-info'])) {
|
1975 | 1976 | $container->register('type_info.resolver.string', StringTypeResolver::class);
|
1976 | 1977 |
|
| 1978 | + $container->register('type_info.resolver.reflection_parameter.phpdoc_aware', PhpDocAwareReflectionTypeResolver::class) |
| 1979 | + ->setArguments([new Reference('type_info.resolver.reflection_parameter'), new Reference('type_info.resolver.string'), new Reference('type_info.type_context_factory')]); |
| 1980 | + $container->register('type_info.resolver.reflection_property.phpdoc_aware', PhpDocAwareReflectionTypeResolver::class) |
| 1981 | + ->setArguments([new Reference('type_info.resolver.reflection_property'), new Reference('type_info.resolver.string'), new Reference('type_info.type_context_factory')]); |
| 1982 | + $container->register('type_info.resolver.reflection_return.phpdoc_aware', PhpDocAwareReflectionTypeResolver::class) |
| 1983 | + ->setArguments([new Reference('type_info.resolver.reflection_return'), new Reference('type_info.resolver.string'), new Reference('type_info.type_context_factory')]); |
| 1984 | + |
1977 | 1985 | /** @var ServiceLocatorArgument $resolversLocator */
|
1978 | 1986 | $resolversLocator = $container->getDefinition('type_info.resolver')->getArgument(0);
|
1979 |
| - $resolversLocator->setValues($resolversLocator->getValues() + [ |
| 1987 | + $resolversLocator->setValues([ |
1980 | 1988 | 'string' => new Reference('type_info.resolver.string'),
|
1981 |
| - ]); |
| 1989 | + \ReflectionParameter::class => new Reference('type_info.resolver.reflection_parameter.phpdoc_aware'), |
| 1990 | + \ReflectionProperty::class => new Reference('type_info.resolver.reflection_property.phpdoc_aware'), |
| 1991 | + \ReflectionFunctionAbstract::class => new Reference('type_info.resolver.reflection_return.phpdoc_aware'), |
| 1992 | + ] + $resolversLocator->getValues()); |
1982 | 1993 | }
|
1983 | 1994 | }
|
1984 | 1995 |
|
|
0 commit comments