PHP_CodeSniffer icon indicating copy to clipboard operation
PHP_CodeSniffer copied to clipboard

PEAR/FunctionDeclaration: bug fix x 2 - prevent fixer creating a parse error + prevent fixer conflict

Open jrfnl opened this issue 3 years ago • 1 comments

PEAR/FunctionDeclaration: bug fix - prevent fixer from creating a parse error

Issue as described in #3736.

The fixer would try to remove superfluous whitespace remaining after the move of the opening brace to the previous line, but did not take into account that there may not be any whitespace to removed, i.e. that the $opener +1 token could be the same as the $next token.

Fixed now.

Includes unit test.

Fixes #3736

PEAR/FunctionDeclaration: prevent fixer conflict

This commit was originally pulled as part of PR #3661.

If a return type declaration was not confined to one line, the sniff could have a fixer conflict with itself. The fixer would also potentially remove a close curly on the same line, causing parse errors.

Fixed now. The diff will be most straight forward to review while ignoring whitespace changes.

Includes unit tests.

jrfnl avatar Jan 05 '23 02:01 jrfnl

Note: the failing test run is unrelated to this PR - see PR #3737 for a fix. I can rebase this PR to get a passing build after PR #3737 has been merged.

jrfnl avatar Jan 05 '23 03:01 jrfnl

Rebased without changed to get rid of conflicts after the merge of #3787.

jrfnl avatar May 04 '23 08:05 jrfnl

Closing as replaced by https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/52

jrfnl avatar Dec 02 '23 02:12 jrfnl

FYI: this fix is included in today's PHP_CodeSniffer 3.8.0 release.

As per #3932, development on PHP_CodeSniffer will continue in the PHPCSStandards/PHP_CodeSniffer repository. If you want to stay informed, you may want to start "watching" that repo (or watching releases from that repo).

jrfnl avatar Dec 08 '23 22:12 jrfnl