Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic/LowerCaseKeyword: remove some redundant code #600

Merged

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Aug 17, 2024

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.

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.
@jrfnl jrfnl added this to the 3.10.x Next milestone Aug 17, 2024
@jrfnl jrfnl merged commit 41a426c into master Aug 17, 2024
50 checks passed
@jrfnl jrfnl deleted the feature/generic-lowercasekeyword-remove-redundant-targets branch August 17, 2024 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant