Squiz.PHP.DisallowMultipleAssignments false positive in while loop conditions #2121
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.
A variable assignment in the condition of a
while
loop may well be enclosed in additional parenthesis to prevent issues with operator precedence when comparing the assigned value within the same condition.Example:
Previously only the lowest level
parenthesis_owner
would be examined to determine whether or not to report this as an error. Now, forwhile
loops only, the parenthesis owners of all nested parenthesis will be examined.Examining them early on in the sniff as the rest of the logic is superfluous if the assignment should be ignored anyway.
Includes unit test.