|
13 | 13 |
|
14 | 14 | use Symfony\Component\PropertyInfo\Extractor\ConstructorExtractor;
|
15 | 15 | use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
|
| 16 | +use Symfony\Component\PropertyInfo\Mapping\Factory\CachedClassMetadataFactory; |
| 17 | +use Symfony\Component\PropertyInfo\Mapping\Factory\ClassMetadataFactory; |
| 18 | +use Symfony\Component\PropertyInfo\Mapping\Factory\ClassMetadataFactoryInterface; |
| 19 | +use Symfony\Component\PropertyInfo\Mapping\Loader\AttributeLoader; |
16 | 20 | use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
|
17 | 21 | use Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface;
|
18 | 22 | use Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor;
|
|
40 | 44 | ->decorate('property_info')
|
41 | 45 | ->args([service('property_info.cache.inner'), service('cache.property_info')])
|
42 | 46 |
|
| 47 | + // Loader |
| 48 | + ->set('property_info.mapping.attribute_loader', AttributeLoader::class) |
| 49 | + |
| 50 | + // Class Metadata Factory |
| 51 | + ->set('property_info.mapping.class_metadata_factory', ClassMetadataFactory::class) |
| 52 | + ->args([service('property_info.mapping.attribute_loader')]) |
| 53 | + |
| 54 | + ->alias(ClassMetadataFactoryInterface::class, 'property_info.mapping.class_metadata_factory') |
| 55 | + |
| 56 | + // Cache |
| 57 | + ->set('property_info.mapping.cached_class_metadata_factory', CachedClassMetadataFactory::class) |
| 58 | + ->decorate('property_info.mapping.class_metadata_factory') |
| 59 | + ->args([ |
| 60 | + service('property_info.mapping.cached_class_metadata_factory.inner'), |
| 61 | + service('cache.property_info'), |
| 62 | + ]) |
| 63 | + |
43 | 64 | // Extractor
|
44 | 65 | ->set('property_info.reflection_extractor', ReflectionExtractor::class)
|
| 66 | + ->arg('$classMetadataFactory', service(ClassMetadataFactoryInterface::class)) |
45 | 67 | ->tag('property_info.list_extractor', ['priority' => -1000])
|
46 | 68 | ->tag('property_info.type_extractor', ['priority' => -1002])
|
47 | 69 | ->tag('property_info.constructor_extractor', ['priority' => -1002])
|
|
0 commit comments