phabel/src/Target/Php74/NullCoalesceAssignment.php

26 lines
660 B
PHP
Raw Normal View History

2020-08-30 16:58:59 +02:00
<?php
namespace Phabel\Target\Php74;
use Phabel\Plugin;
2020-11-01 20:44:11 +01:00
use Phabel\Target\Php70\NullCoalesceReplacer;
2020-08-30 16:58:59 +02:00
use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\AssignOp\Coalesce;
use PhpParser\Node\Expr\BinaryOp\Coalesce as BinaryOpCoalesce;
2020-09-05 22:35:30 +02:00
/**
* @author Daniil Gentili <daniil@daniil.it>
* @license MIT
*/
2020-08-30 16:58:59 +02:00
class NullCoalesceAssignment extends Plugin
{
public function enter(Coalesce $coalesce): Assign
{
return new Assign($coalesce->var, new BinaryOpCoalesce($coalesce->var, $coalesce->expr), $coalesce->getAttributes());
}
2020-11-01 20:44:11 +01:00
public static function runWithBefore(): array
{
return [NullCoalesceReplacer::class];
}
2020-08-30 16:58:59 +02:00
}