Fixed bug #110, #437, #475: File::findStartOfStatement(): the start of statement/expression determination for tokens in parentheses/short array brackets/others scopes, nested within match expressions, was incorrect in most cases.
The trickle down effect of the bug fixes made to the File::findStartOfStatement() method, is that the Generic.WhiteSpace.ScopeIndent and the PEAR.WhiteSpace.ScopeIndent sniffs should now be able to correctly determine and fix the indent for match expressions containing nested expressions.
These fixes also fix an issue with the Squiz.Arrays.ArrayDeclaration sniff and possibly other, unreported bugs.
Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #3731, #387, #461
Includes new T_TYPE_OPEN_PARENTHESIS and T_TYPE_CLOSE_PARENTHESIS tokens to represent the parentheses in DNF types.
These new tokens, like other parentheses, will have the parenthesis_opener and parenthesis_closer token array indexes set and the tokens between them will have the nested_parenthesis index.
The File::getMethodProperties(), File::getMethodParameters() and File::getMemberProperties() methods now all support DNF types. #471, #472, #473
Additionally, the following sniff has been updated to support DNF types:
Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
Changed
The following have received efficiency improvements:
Type handling in the PHP Tokenizer
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Various housekeeping, including improvements to the tests and documentation.
Thanks to [Juliette Reinders Folmer][@jrfnl] for their contributions.
Fixed
Fixed bug #110, #437, #475: File::findStartOfStatement(): the start of statement/expression determination for tokens in parentheses/short array brackets/others scopes, nested within match expressions, was incorrect in most cases.
The trickle down effect of the bug fixes made to the File::findStartOfStatement() method, is that the Generic.WhiteSpace.ScopeIndent and the PEAR.WhiteSpace.ScopeIndent sniffs should now be able to correctly determine and fix the indent for match expressions containing nested expressions.
These fixes also fix an issue with the Squiz.Arrays.ArrayDeclaration sniff and possibly other, unreported bugs.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #504: The tokenizer could inadvertently mistake the last parameter in a function call using named arguments for a DNF type.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #508: Tokenizer/PHP: extra hardening against handling parse errors in the type handling layer.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #3731[sq-3731], #387, #461
Includes new T_TYPE_OPEN_PARENTHESIS and T_TYPE_CLOSE_PARENTHESIS tokens to represent the parentheses in DNF types.
These new tokens, like other parentheses, will have the parenthesis_opener and parenthesis_closer token array indexes set and the tokens between them will have the nested_parenthesis index.
The File::getMethodProperties(), File::getMethodParameters() and File::getMemberProperties() methods now all support DNF types. #471, #472, #473
Additionally, the following sniff has been updated to support DNF types:
The help screens have received a face-lift for improved usability and readability. #447
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch and thanks to [Colin Stewart][@costdev], [Gary Jones][@GaryJones] and [@mbomb007] for reviewing.
The Squiz.Commenting.ClosingDeclarationComment sniff will now also examine and flag closing comments for traits. #442
Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
The following sniff(s) have efficiency improvements:
... (truncated)
Commits
8f90f7a Merge pull request #510 from PHPCSStandards/feature/changelog-3.10.1
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps squizlabs/php_codesniffer from 3.7.2 to 3.10.1.
Release notes
Sourced from squizlabs/php_codesniffer's releases.
... (truncated)
Changelog
Sourced from squizlabs/php_codesniffer's changelog.
... (truncated)
Commits
8f90f7a
Merge pull request #510 from PHPCSStandards/feature/changelog-3.10.1c9525a8
Changelog for the 3.10.1 release3361ff2
Merge pull request #509 from PHPCSStandards/feature/file-findstartendofstatem...fb351b3
Merge pull request #508 from PHPCSStandards/feature/tokenizer-php-harden-the-...a82f02e
File::find[Start|End]OfStatement(): add QA tests83373f9
File::findStartOfStatement(): fix some unintentional parse errors in the test...83afad8
Tokenizer/PHP: minor doc fix in type handling layer87c3936
Tokenizer/PHP: efficiency fix07477a7
Tokenizer/PHP: don't retokenize tokens in a broken type DNF declarationcac9038
Tokenizer/PHP: efficiency improvement for DNF type handlingDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show