66
77use PhpParser \Node ;
88use PhpParser \Node \Expr \ClassConstFetch ;
9+ use PhpParser \Node \Expr \ConstFetch ;
10+ use PhpParser \Node \Expr \FuncCall ;
911use PhpParser \Node \Expr \MethodCall ;
12+ use PhpParser \Node \Identifier ;
1013use PhpParser \Node \Name ;
14+ use PhpParser \Node \Name \FullyQualified ;
1115use Rector \Rector \AbstractRector ;
1216use Symplify \RuleDocGenerator \ValueObject \CodeSample \CodeSample ;
1317use Symplify \RuleDocGenerator \ValueObject \RuleDefinition ;
@@ -21,7 +25,7 @@ final class DowngradeRoundingModeEnumRector extends AbstractRector
2125{
2226 public function getNodeTypes (): array
2327 {
24- return [Node \ Expr \ FuncCall::class];
28+ return [FuncCall::class];
2529 }
2630
2731 public function getRuleDefinition (): RuleDefinition
@@ -67,26 +71,23 @@ public function refactor(Node $node): ?Node
6771
6872 $ modeArg = $ args [2 ]->value ;
6973 $ hasChanged = false ;
70- if ($ modeArg instanceof ClassConstFetch) {
71- if ($ modeArg ->class instanceof Name && $ modeArg ->class ->name === 'RoundingMode ' ) {
72- if (!($ modeArg ->name instanceof Node \Identifier)) {
73- return null ;
74- }
75- $ constantName = match ($ modeArg ->name ->name ) {
76- 'HalfAwayFromZero ' => 'PHP_ROUND_HALF_UP ' ,
77- 'HalfTowardsZero ' => 'PHP_ROUND_HALF_DOWN ' ,
78- 'HalfEven ' => 'PHP_ROUND_HALF_EVEN ' ,
79- 'HalfOdd ' => 'PHP_ROUND_HALF_ODD ' ,
80- default => null ,
81- };
82-
83- if ($ constantName === null ) {
84- return null ;
85- }
74+ if ($ modeArg instanceof ClassConstFetch && ($ modeArg ->class instanceof Name && $ modeArg ->class ->name === 'RoundingMode ' )) {
75+ if (! ($ modeArg ->name instanceof Identifier)) {
76+ return null ;
77+ }
8678
87- $ args [2 ]->value = new Node \Expr \ConstFetch (new Node \Name \FullyQualified ($ constantName ));
88- $ hasChanged = true ;
79+ $ constantName = match ($ modeArg ->name ->name ) {
80+ 'HalfAwayFromZero ' => 'PHP_ROUND_HALF_UP ' ,
81+ 'HalfTowardsZero ' => 'PHP_ROUND_HALF_DOWN ' ,
82+ 'HalfEven ' => 'PHP_ROUND_HALF_EVEN ' ,
83+ 'HalfOdd ' => 'PHP_ROUND_HALF_ODD ' ,
84+ default => null ,
85+ };
86+ if ($ constantName === null ) {
87+ return null ;
8988 }
89+ $ args [2 ]->value = new ConstFetch (new FullyQualified ($ constantName ));
90+ $ hasChanged = true ;
9091 }
9192
9293 if ($ hasChanged ) {
0 commit comments