Mark concatenation inside another expression as variable read #186
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.
Concatenation (or other variable assignment) counts as a "write" to a variable, but not as a "read". That way code like this produces an unused variable warning:
However, in PHP if the assignment is inside another expression, then the assignment should count as a "read" as well, as in the following code, which should produce no warning:
This PR makes the sniff aware of two such cases: when the assignment is on the right-hand-side (RHS) of another assignment, or when the assignment is inside a function call. There may be other expressions that an assignment could be part of, but this should take care of the majority of them.
Fixes #183