UseStatements::splitImportUseStatement(): improve handling of leading backslash #590
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.
Import use statements should not be declared with a leading backslash and doing so is discouraged by PHP itself:
Ref: https://www.php.net/manual/en/language.namespaces.importing.php
However, it is not a parse error to declare an import with a leading backslash. Until now, the behaviour of this method in such a case was undefined, which, in practice, meant that the leading backslash would be included in the full name.
For consistency, however, this is undesirable and makes the names found in the return value more awkward to handle by sniffs using the method.
This commit now explicitly defines the behaviour around leading backslashes in import use statements and prevents these from being included in the names in the return value.
Includes unit tests.