Skip to content

[CodeQuality] Handle crash on ReturnTypeFromStrictScalarReturnExprRector on ConditionalTypeForParameter#3254

Merged
TomasVotruba merged 3 commits intomainfrom
conditional-type
Dec 25, 2022
Merged

[CodeQuality] Handle crash on ReturnTypeFromStrictScalarReturnExprRector on ConditionalTypeForParameter#3254
TomasVotruba merged 3 commits intomainfrom
conditional-type

Conversation

@samsonasik
Copy link
Copy Markdown
Member

@samsonasik samsonasik commented Dec 25, 2022

Given the following code:

final class SkipConditionalTypeForParameter
{
    public function run()
    {
        $username = 'xxxxxx';
        $password = 'yyyyyyy';
        return base64_encode(implode(':', [$username, $password]));
    }
}

It cause crash:

There was 1 error:

1) Rector\Tests\CodeQuality\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector\ReturnTypeFromStrictScalarReturnExprRectorTest::test with data set #2 ('/Users/samsonasik/www/rector-...hp.inc')
Rector\Core\Exception\NotImplementedYetException: Rector\PHPStanStaticTypeMapper\PHPStanStaticTypeMapper::mapToPhpParserNode for PHPStan\Type\ConditionalTypeForParameter

/Users/samsonasik/www/rector-src/packages/PHPStanStaticTypeMapper/PHPStanStaticTypeMapper.php:71
/Users/samsonasik/www/rector-src/packages/StaticTypeMapper/StaticTypeMapper.php:68
/Users/samsonasik/www/rector-src/rules/CodeQuality/Rector/ClassMethod/ReturnTypeFromStrictScalarReturnExprRector.php:90

Ref https://getrector.org/demo/620b427f-2427-47f1-a596-c2bab150b0a6

This PR try to fix it. Fixes rectorphp/rector#7694

@samsonasik
Copy link
Copy Markdown
Member Author

Fixed 🎉 /cc @neopheus

@samsonasik
Copy link
Copy Markdown
Member Author

All checks have passed 🎉 @TomasVotruba it is ready for review.

@TomasVotruba TomasVotruba merged commit ac2f853 into main Dec 25, 2022
@TomasVotruba TomasVotruba deleted the conditional-type branch December 25, 2022 14:05
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.

System error: "Rector\PHPStanStaticTypeMapper\PHPStanStaticTypeMapper::mapToPhpParserNode

2 participants