Skip to content

Commit ed879f1

Browse files
committed
Changelog + minor cleanup for #2640
1 parent 6cf615d commit ed879f1

File tree

2 files changed

+40
-20
lines changed

2 files changed

+40
-20
lines changed

package.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
4747
- Fixed bug #2586 : Generic.WhiteSpace.ScopeIndent false positives when indenting open tags at a non tab-stop
4848
- Fixed bug #2638 : Squiz.CSS.DuplicateClassDefinitionSniff sees comments as part of the class name
4949
-- Thanks to Raphael Horber for the patch
50+
- Fixed bug #2640 : Squiz.WhiteSpace.OperatorSpacing false positives for some negation operators
51+
-- Thanks to Jakub Chábek for the patch
5052
- Fixed bug #2674 : Squiz.Functions.FunctionDeclarationArgumentSpacing prints wrong argument name in error message
5153
- Fixed bug #2676 : PSR12.Files.FileHeader locks up when file ends with multiple inline comments
5254
- Fixed bug #2678 : PSR12.Classes.AnonClassDeclaration incorrectly enforcing that closing brace be on a line by itself

src/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -57,29 +57,34 @@ class OperatorSpacingSniff implements Sniff
5757
*/
5858
public function register()
5959
{
60-
$targets = Tokens::$comparisonTokens;
61-
$targets += Tokens::$operators;
62-
$targets += Tokens::$assignmentTokens;
63-
$targets[] = T_INLINE_THEN;
64-
$targets[] = T_INLINE_ELSE;
65-
$targets[] = T_INSTANCEOF;
60+
/*
61+
First we setup an array of all the tokens that can come before
62+
a T_MINUS or T_PLUS token to indicate that the token is not being
63+
used as an operator.
64+
*/
6665

6766
// Trying to operate on a negative value; eg. ($var * -1).
6867
$this->nonOperandTokens = Tokens::$operators;
68+
6969
// Trying to compare a negative value; eg. ($var === -1).
7070
$this->nonOperandTokens += Tokens::$comparisonTokens;
71+
7172
// Trying to compare a negative value; eg. ($var || -1 === $b).
7273
$this->nonOperandTokens += Tokens::$booleanOperators;
74+
7375
// Trying to assign a negative value; eg. ($var = -1).
7476
$this->nonOperandTokens += Tokens::$assignmentTokens;
77+
78+
// Returning/printing a negative value; eg. (return -1).
7579
$this->nonOperandTokens += [
76-
// Returning/printing a negative value; eg. (return -1).
77-
T_RETURN => T_RETURN,
78-
T_ECHO => T_ECHO,
79-
T_PRINT => T_PRINT,
80-
T_YIELD => T_YIELD,
80+
T_RETURN => T_RETURN,
81+
T_ECHO => T_ECHO,
82+
T_PRINT => T_PRINT,
83+
T_YIELD => T_YIELD,
84+
];
8185

82-
// Trying to use a negative value; eg. myFunction($var, -2).
86+
// Trying to use a negative value; eg. myFunction($var, -2).
87+
$this->nonOperandTokens += [
8388
T_COMMA => T_COMMA,
8489
T_OPEN_PARENTHESIS => T_OPEN_PARENTHESIS,
8590
T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET,
@@ -90,17 +95,30 @@ public function register()
9095
T_INLINE_ELSE => T_INLINE_ELSE,
9196
T_CASE => T_CASE,
9297
T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
98+
];
9399

94-
// Casting a negative value; eg. (array) -$a.
95-
T_ARRAY_CAST => T_ARRAY_CAST,
96-
T_BOOL_CAST => T_BOOL_CAST,
97-
T_DOUBLE_CAST => T_DOUBLE_CAST,
98-
T_INT_CAST => T_INT_CAST,
99-
T_OBJECT_CAST => T_OBJECT_CAST,
100-
T_STRING_CAST => T_STRING_CAST,
101-
T_UNSET_CAST => T_UNSET_CAST,
100+
// Casting a negative value; eg. (array) -$a.
101+
$this->nonOperandTokens += [
102+
T_ARRAY_CAST => T_ARRAY_CAST,
103+
T_BOOL_CAST => T_BOOL_CAST,
104+
T_DOUBLE_CAST => T_DOUBLE_CAST,
105+
T_INT_CAST => T_INT_CAST,
106+
T_OBJECT_CAST => T_OBJECT_CAST,
107+
T_STRING_CAST => T_STRING_CAST,
108+
T_UNSET_CAST => T_UNSET_CAST,
102109
];
103110

111+
/*
112+
These are the tokens the sniff is looking for.
113+
*/
114+
115+
$targets = Tokens::$comparisonTokens;
116+
$targets += Tokens::$operators;
117+
$targets += Tokens::$assignmentTokens;
118+
$targets[] = T_INLINE_THEN;
119+
$targets[] = T_INLINE_ELSE;
120+
$targets[] = T_INSTANCEOF;
121+
104122
return $targets;
105123

106124
}//end register()

0 commit comments

Comments
 (0)