Skip to content

Commit f62b88e

Browse files
jrfnlsirbrillig
authored andcommitted
VariableAnalysisSniff::processCompactArguments(): fix comment tolerance (#155)
PHP ignores comments in unexpected/unconventional places and so should the sniff. Includes adjusting an existing unit test. Without the fix, the adjusted unit test would cause test failures.
1 parent 46b25ba commit f62b88e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

VariableAnalysis/Sniffs/CodeAnalysis/VariableAnalysisSniff.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1305,7 +1305,7 @@ protected function processCompactArguments(File $phpcsFile, $stackPtr, $argument
13051305

13061306
foreach ($arguments as $argumentPtrs) {
13071307
$argumentPtrs = array_values(array_filter($argumentPtrs, function ($argumentPtr) use ($tokens) {
1308-
return $tokens[$argumentPtr]['code'] !== T_WHITESPACE;
1308+
return isset(Tokens::$emptyTokens[$tokens[$argumentPtr]['code']]) === false;
13091309
}));
13101310
if (empty($argumentPtrs)) {
13111311
continue;

VariableAnalysis/Tests/CodeAnalysis/fixtures/CompactFixture.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function function_with_literal_compact($param1, $param2, $param3, $param4) {
66
$squish = compact('var1');
77
$squish = compact('var3');
88
$squish = compact('param1');
9-
$squish = compact('var2', 'param3');
9+
$squish = compact('var2', /*comment*/ 'param3');
1010
$squish = compact(array('var4'), array('param4', 'var5'));
1111
echo $squish;
1212
}
@@ -20,10 +20,10 @@ function function_with_expression_compact($param1, $param2, $param3, $param4) {
2020
$var8 = "value8";
2121
$var9 = "value9";
2222
$squish = compact("var1");
23-
$squish = compact("var3");
23+
$squish = compact("var3"/*comment*/ );
2424
$squish = compact("param1");
2525
$squish = compact("var2", "param3");
26-
$squish = compact(array("var4"), array("param4", "var5"));
26+
$squish = compact(array("var4"), array("param4", /*comment*/ "var5"));
2727
$squish = compact($var6);
2828
$squish = compact("var" . "7");
2929
$squish = compact("blah $var8");

0 commit comments

Comments
 (0)