[FuncCall] Don't add $result to parse_str if second parameter i… (#1709)

[FuncCall] Don't add $result to parse_str if second parameter is already set
This commit is contained in:
Tomáš Votruba 2019-07-09 15:45:37 +02:00 committed by GitHub
commit 2fabe47817
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 1 deletions

View File

@ -52,6 +52,10 @@ CODE_SAMPLE
return null;
}
if (isset($node->args[1])) {
return null;
}
$resultVariable = new Variable('result');
$node->args[1] = new Arg($resultVariable);

View File

@ -0,0 +1,29 @@
<?php
namespace Rector\Php\Tests\Rector\FuncCall\ParseStrWithResultArgumentRector\Fixture;
class AlreadySet
{
public function run()
{
$query = 'bla';
parse_str($query, $data);
}
}
?>
-----
<?php
namespace Rector\Php\Tests\Rector\FuncCall\ParseStrWithResultArgumentRector\Fixture;
class AlreadySet
{
public function run()
{
$query = 'bla';
parse_str($query, $data);
}
}
?>

View File

@ -9,7 +9,7 @@ final class ParseStrWithResultArgumentRectorTest extends AbstractRectorTestCase
{
public function test(): void
{
$this->doTestFiles([__DIR__ . '/Fixture/fixture.php.inc']);
$this->doTestFiles([__DIR__ . '/Fixture/fixture.php.inc', __DIR__ . '/Fixture/already_set.php.inc']);
}
protected function getRectorClass(): string