->
alias(PropertyInfoExtractorInterface::
class, 'property_info'
) ->
alias(PropertyTypeExtractorInterface::
class, 'property_info'
) ->
alias(PropertyListExtractorInterface::
class, 'property_info'
) ->
alias(PropertyInitializableExtractorInterface::
class, 'property_info'
) ->
set('property_info.cache', PropertyInfoCacheExtractor::
class) ->
decorate('property_info'
) ->
args([service('property_info.cache.inner'
),
service('cache.property_info'
)]) // Extractor
->
set('property_info.reflection_extractor', ReflectionExtractor::
class) ->
tag('property_info.list_extractor',
['priority' => -1000
]) ->
tag('property_info.type_extractor',
['priority' => -1002
]) ->
tag('property_info.access_extractor',
['priority' => -1000
]) ->
tag('property_info.initializable_extractor',
['priority' => -1000
]) ->
alias(PropertyReadInfoExtractorInterface::
class, 'property_info.reflection_extractor'
) ->
alias(PropertyWriteInfoExtractorInterface::
class, 'property_info.reflection_extractor'
) ;
};