Skip to content

Fix class constant spread from other class crash on DowngradeArraySpreadRector - #423

Merged
TomasVotruba merged 2 commits into
mainfrom
ref-ast
Nov 12, 2026
Merged

TomasVotruba merged 2 commits into
mainfrom
ref-ast

Conversation

@samsonasik

Copy link
Copy Markdown
Member

without the patch, it produce error:

There was 1 error:

1) Rector\Tests\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector\DowngradeArraySpreadRectorTest::test@/Users/samsonasik/www/rector-downgrade-php/rules-tests/DowngradePhp74/Rector/Array_/DowngradeArraySpreadRector/Fixture/on_class_constant_global_constants.php.inc with data ('/Users/samsonasik/www/rector-...hp.inc')
TypeError: PhpParser\Internal\TokenStream::getIndentationBefore(): Return value must be of type int, null returned

Ref https://getrector.com/demo/98524e80-092d-461c-ab17-9fe950a65a5b

on code:

namespace Rector\Tests\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector\Fixture;

use Rector\Tests\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector\Source\ClassWithGlobalConstants;

final class OnClassConstantGlobalConstants
{
    private const ITEMS = ['x', ...ClassWithGlobalConstants::ITEMS];
}

Add test for it. This also reduce AstResolver usage by move to PHPStan ReflectionProvider.

@samsonasik

Copy link
Copy Markdown
Member Author

@TomasVotruba ready 👍

@TomasVotruba
TomasVotruba merged commit 9cfaea0 into main Nov 12, 2026
9 checks passed
@TomasVotruba

Copy link
Copy Markdown
Member

Thank you 👍

@TomasVotruba
TomasVotruba deleted the ref-ast branch November 12, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants