PHPCSStandards / PHP_CodeSniffer

PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
BSD 3-Clause "New" or "Revised" License
880 stars 54 forks source link

Generic/LowerCaseKeyword: remove some redundant code #600

Closed jrfnl closed 3 weeks ago

jrfnl commented 3 weeks ago

Description

The Tokens::$contextSensitiveKeywords token array was introduced in PHPCS 3.7.0 via PR squizlabs/PHP_CodeSniffer#3484.

PR squizlabs/PHP_CodeSniffer#3574 build onto that by removing the bulk of the target tokens from the register() method for the Generic/LowerCaseKeyword sniff in favour of using the predefined Tokens::$contextSensitiveKeywords token array.

The T_EMPTY, T_EVAL, T_ISSET and T_UNSET tokens were initially missing from the Tokens::$contextSensitiveKeywords array. This was fixed in PHPCS 3.7.1 via PRs squizlabs/PHP_CodeSniffer#3608 and squizlabs/PHP_CodeSniffer#3610.

This means those tokens no longer need to be explicitly added as targets for the Generic/LowerCaseKeyword sniff as they are now (and have been since PHPCS 3.7.1) inherited via the Tokens::$contextSensitiveKeywords token array.

This commit removes the redundancy, but also adds tests to safeguard that those keywords will still be checked by the sniff.

Suggested changelog entry

N/A

Related issues/external references

Noticed the redundancy while reviewing #597.