[Translation] Extract constraint class names instead of relying on service declaration #49785
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an alternative solution to this one involving a fix translator side.
See it as a discussion support first, more than a definitive proposal.
Instead of relying on service declaration to inject the constraint names to the ConstraintVisitor, we extract them from files and return all class names of classes extending Constraint.
The private method looks like the one we can find in the
DebugCommand
and I'm not really sure it has its place directly in the TranslatorPass but this is a first draft and I hope someone can lead me in the right direction to move stuff at the right place.Contrary to my first PR this solution excludes userland constraints. It also exclude constraints from other places than
Symfony/Component/Validator/Constraints
directory (likeUniqueEntity
for example).To include them all, we would probably need to:
Userland constraint would be included at the condition of being declared as services.