Skip to content

Commit e94bf92

Browse files
committed
reverse to keep original order
1 parent e99ea33 commit e94bf92

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

rules-tests/Unambiguous/Rector/Expression/FluentSettersToStandaloneCallMethodRector/Fixture/fixture.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ final class SomeClass
2727
public function setup()
2828
{
2929
$someSetterClass = new SomeSetterClass();
30-
$someSetterClass->setSurname('Doe');
3130
$someSetterClass->setName('John');
31+
$someSetterClass->setSurname('Doe');
3232
}
3333
}
3434

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Rector\Tests\Unambiguous\Rector\Expression\FluentSettersToStandaloneCallMethodRector\Fixture;
4+
5+
use PHPUnit\Framework\TestCase;
6+
use Rector\Tests\Unambiguous\Rector\Expression\FluentSettersToStandaloneCallMethodRector\Source\SomeSetterClass;
7+
8+
final class SkipMocksOnVariable extends TestCase
9+
{
10+
public function test()
11+
{
12+
$someVariable = $this->createMock(SomeSetterClass::class);
13+
$someVariable->expects($this->once())
14+
->method('some')
15+
->with(1);
16+
}
17+
}

rules/Unambiguous/Rector/Expression/FluentSettersToStandaloneCallMethodRector.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Rector\Unambiguous\Rector\Expression;
66

7-
use PHPStan\Type\ObjectType;
87
use PhpParser\Node;
98
use PhpParser\Node\Expr;
109
use PhpParser\Node\Expr\Assign;
@@ -15,6 +14,7 @@
1514
use PhpParser\Node\Stmt\Expression;
1615
use PhpParser\Node\Stmt\Return_;
1716
use PHPStan\Reflection\ClassReflection;
17+
use PHPStan\Type\ObjectType;
1818
use Rector\Naming\Naming\PropertyNaming;
1919
use Rector\NodeTypeResolver\Node\AttributeKey;
2020
use Rector\Rector\AbstractRector;
@@ -119,6 +119,9 @@ public function refactor(Node $node): ?array
119119
$firstAssign = new Assign($someVariable, $rootExpr);
120120
$stmts = [new Expression($firstAssign)];
121121

122+
// revert to normal order
123+
$methodCalls = array_reverse($methodCalls);
124+
122125
foreach ($methodCalls as $methodCall) {
123126
$methodCall->var = $someVariable;
124127
// inlines indent and removes () around first expr

0 commit comments

Comments
 (0)