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

Operators::isReference(): various improvements #45

Merged
merged 4 commits into from
Jan 22, 2020

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Jan 22, 2020

Operators::isReference(): implement use of the Parentheses and FunctionDeclarations classes

...and remove redundant code from the "is this a function parameter passed by reference" check.

Operators::isReference(): improve defensive coding

Includes unit test.

Operators::isReference(): add tests for select tokenizer issues

Refs:

Operators::isReference(): fix compatibility with PHPCS 2.8.0 - 3.2.3

PHPCS 2.8.0 - 3.2.3 contained a bug where a square open bracket [ as the first code content after the PHP open tag in a file would be tokenized as T_OPEN_SQUARE_BRACKET not T_OPEN_SHORT_ARRAY.

This is an edge-case bug as it can only occur when following the very first PHP open tag in a file and only if there is nothing before that open tag.

Either way, this commit adds work-arounds to the utility method to handle the situation correctly.

…onDeclarations classes

...and remove redundant code from the "is this a function parameter passed by reference" check.
PHPCS 2.8.0 - 3.2.3 contained a bug where a square open bracket `[` as the first code content after the PHP open tag in a file would be tokenized as `T_OPEN_SQUARE_BRACKET` not `T_OPEN_SHORT_ARRAY`.

This is an edge-case bug as it can only occur when following the very first PHP open tag in a file and only if there is nothing before that open tag.

Either way, this commit adds work-arounds to the utility method to handle the situation correctly.

Ref: squizlabs/PHP_CodeSniffer 1971
@jrfnl jrfnl added this to the 1.0.0 milestone Jan 22, 2020
@jrfnl jrfnl merged commit 4282925 into develop Jan 22, 2020
@jrfnl jrfnl deleted the feature/operators-isreference-various-improvements branch January 22, 2020 22:13
@jrfnl jrfnl modified the milestones: 1.0.0, 1.0.0-alpha1 May 1, 2020
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