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

[CodeQuality] Skip used in next stmt on UnusedForeachValueToArrayKeysRector #6164

Merged
merged 3 commits into from
Jul 20, 2024

Conversation

samsonasik
Copy link
Member

@samsonasik
Copy link
Member Author

Fixed 🎉 /cc @sreichel

@samsonasik
Copy link
Member Author

All checks have passed 🎉 @TomasVotruba I am merging it ;)

@samsonasik samsonasik merged commit 6f3881c into main Jul 20, 2024
34 checks passed
@samsonasik samsonasik deleted the skip-used-next-x branch July 20, 2024 22:28
@sreichel
Copy link
Contributor

WOW! Thanks. 💯

I'll test it later.

@sreichel
Copy link
Contributor

sreichel commented Jul 20, 2024

@samsonasik just a question ... is it possible to check HOW a value is used after foreach?

Eg ...

foreach ($array as $key => $unUsedValue) {
    ....
}

unset($key, $unUsedValue);

Could turn into

foreach (array_keys($array) as $key) {
    ....
}

unset($key);

In this case the rule could be applied when $unUsedValue also gots removed from unset().

Is it too complex to cover all possiblities?

@samsonasik
Copy link
Member Author

this should already covered by this patch, but feel free to provide a failing test case if the issue persist.

@sreichel
Copy link
Contributor

Time for me to learn "rectorphp" :)

Thanks for you work!

Copy link
Member

@TomasVotruba TomasVotruba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@sreichel
Copy link
Contributor

this should already covered by this patch, but feel free to provide a failing test case if the issue persist.

https://getrector.com/demo/e2d93df1-5c99-4ed6-912d-4ccebb276d8c

FYI. Its not an issue. Your change works as aspected.

sreichel added a commit to sreichel/magento-lts that referenced this pull request Jul 22, 2024
sreichel added a commit to sreichel/magento-lts that referenced this pull request Jul 22, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164
sreichel added a commit to OpenMage/magento-lts that referenced this pull request Jul 29, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Fixed some phpstan issues

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector"

This reverts commit 03e1514.

* Revert ...

* phpstan.dist.baseline.neon

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
kiatng added a commit to OpenMage/magento-lts that referenced this pull request Aug 7, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Show correct version

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Aug 22, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Fixed phpcs compatibility warning

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Aug 23, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Ignore mcrypt related warnings

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Aug 24, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Removed MTF
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Aug 30, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Security fix for TinyMCE

- see GHSA-5359-pvf2-pw78

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Sep 2, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Convert double-quotes to single-quotes
kiatng added a commit to OpenMage/magento-lts that referenced this pull request Sep 2, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Fixes some phpstan errors

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Update app/code/core/Mage/Tag/Model/Tag.php

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>

* Updated docblock

- have to keep array from parent method

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
kiatng added a commit to OpenMage/magento-lts that referenced this pull request Sep 2, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* DocBlock update

* Update app/code/core/Mage/Adminhtml/Helper/Help/Mapping.php

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>

* Update app/code/core/Mage/Core/Model/Session/Abstract.php

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>

* Update app/code/core/Mage/Core/Model/Session/Abstract.php

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
sreichel added a commit to OpenMage/magento-lts that referenced this pull request Sep 6, 2024
…ng` easier (#4123)

* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Updates for 20.10.1 release

* Re-add possibility to get original value

* Changed default value

* Moved method to Mage_Core_Block_Abstract

* Ignore some phpcs-ecg errors [skip ci]

* Added method to work with arrays

* Added method to work with arrays (2)

* Typo [skip ci]

* Update app/code/core/Mage/Core/Model/Security/HtmlEscapedString.php

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>

* Renamed methods

* Reverted renaming, updated docblocks

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
kiatng pushed a commit to OpenMage/magento-lts that referenced this pull request Sep 8, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Patched PHPCS-ECG

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Updated baseline
kiatng added a commit to OpenMage/magento-lts that referenced this pull request Sep 9, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Use array_key_last()

- see #4111 (comment)

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
sreichel added a commit to OpenMage/magento-lts that referenced this pull request Sep 17, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Updated test

* Added test

* Added test

* Renamed and updated test

* Updated test

* Updated test

* Updated test

* Updated test

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Updated test (phpstan L9)

* Updated test (fixed namespace)

* Updated test (phpstan L9)

* Added unit test to code style check and phpstan

* Some cleanup

* Some cleanup

* Some cleanup

* Updated workflow

* ddev shortcut [ski ci]

* Moved phphunit config file

* Merged phpunit & sonar workflow

* PhpUnit fix

 - PHP Deprecated:  str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/runner/work/magento-lts/magento-lts/lib/Varien/Object.php on line 594

* Fix linefeed (?)

* Fix config

* Fixed invalid php version

* Use minimum version

* Use minimum version for SonarScan

* Fix command [ski ci]

* Enable xdebug

* Added test, ref #4123

* Revert "Some cleanup"

This reverts commit 6d45ed6.

* Revert "PhpUnit fix"

This reverts commit f4935f1.

* Updated test

* Updated docblocks

* Revert "Fix linefeed (?)"

This reverts commit dee0422.

* Added tests

* Added tests

* Added tests [skip ci]

* Reverted changes to Mage_Core_Model_Website

* Updated config

* Updated .gitignore

* Updated workflow

* Updated workflow typo

* Updated workflow continue on error

* Updated workflow if condition

* Updated workflow [skip ci]

* Moved tests to root (as common)

* Fixed paths

* Fixed paths

* Fixed paths

* CS fix

* Added test

* Added test

* Added groups/suites

* Updated test

* CS fix

* Updated .gitignore

* Updated phpunit.xml.dist

* Added test

* Added tests

* Added tests

* Added tests

* Added tests

* CS fix

* CS fix

* Added tests

* Added tests

* Added tests

* Added tests

* CS/PhpStan fixes

* Update

- some tests commented - need files changes

* Nicer output?

* Don't wait for phpcs

* Revert output

* Updated workflows

* Added test

* Added phpunit command to composer.json

* Updated DDEV commands

* Updated composer scripts

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
ADDISON74 pushed a commit to OpenMage/magento-lts that referenced this pull request Sep 18, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Updated test

* Added test

* Added test

* Renamed and updated test

* Updated test

* Updated test

* Updated test

* Updated test

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* Updated test (phpstan L9)

* Updated test (fixed namespace)

* Updated test (phpstan L9)

* Added unit test to code style check and phpstan

* Some cleanup

* Some cleanup

* Some cleanup

* Updated workflow

* ddev shortcut [ski ci]

* Moved phphunit config file

* Merged phpunit & sonar workflow

* PhpUnit fix

 - PHP Deprecated:  str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/runner/work/magento-lts/magento-lts/lib/Varien/Object.php on line 594

* Fix linefeed (?)

* Fix config

* Fixed invalid php version

* Use minimum version

* Use minimum version for SonarScan

* Fix command [ski ci]

* Enable xdebug

* Added test, ref #4123

* Revert "Some cleanup"

This reverts commit 6d45ed6.

* Revert "PhpUnit fix"

This reverts commit f4935f1.

* Updated test

* Updated docblocks

* Revert "Fix linefeed (?)"

This reverts commit dee0422.

* Added tests

* Added tests

* Added tests [skip ci]

* Reverted changes to Mage_Core_Model_Website

* Updated config

* Updated .gitignore

* Updated workflow

* Updated workflow typo

* Updated workflow continue on error

* Updated workflow if condition

* Updated workflow [skip ci]

* Moved tests to root (as common)

* Fixed paths

* Fixed paths

* Fixed paths

* CS fix

* Added test

* Added test

* Added groups/suites

* Updated test

* CS fix

* Updated .gitignore

* Updated phpunit.xml.dist

* Added test

* Added tests

* Added tests

* Added tests

* Added tests

* CS fix

* CS fix

* Added tests

* Added tests

* Added tests

* Added tests

* CS/PhpStan fixes

* Update

- some tests commented - need files changes

* Nicer output?

* Don't wait for phpcs

* Revert output

* Updated workflows

* Added test

* Added phpunit command to composer.json

* Updated DDEV commands

* Fixed phpunit commands at composer.json

* WIP

* phpcs and phpstan fixes

* Updated tests

* Moved test to correct directory

* Added tests

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
kiatng added a commit to OpenMage/magento-lts that referenced this pull request Sep 23, 2024
* Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)

* Rector: CQ - UnusedForeachValueToArrayKeysRector

See Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector

* fixes + phpstan

See fix at rector: rectorphp/rector-src#6164

* Revert "Rector: CQ - UnusedForeachValueToArrayKeysRector (#1)"

This reverts commit 3d7eaf6.

* DDEV localdev [skip ci]

* Typo [skip ci]

* Fix

* Changed path

---------

Co-authored-by: Ng Kiat Siong <kiatsiong.ng@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

UnusedForeachValueToArrayKeysRector removes values that are used
3 participants