30 lines
727 B
PHP
30 lines
727 B
PHP
<?php
|
|
|
|
namespace Phabel\Target\Php70;
|
|
|
|
use Phabel\Plugin;
|
|
use PhpParser\Node;
|
|
|
|
class ReservedNameReplacer extends Plugin
|
|
{
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function leaveNode(Node $node): void
|
|
{
|
|
if (!$node instanceof Node\Expr\MethodCall &&
|
|
!$node instanceof Node\Expr\StaticCall &&
|
|
!$node instanceof Node\Stmt\ClassMethod &&
|
|
!$node instanceof Node\Expr\ClassConstFetch &&
|
|
!$node instanceof Node\Const_
|
|
) {
|
|
return;
|
|
}
|
|
$name = &$node->name;
|
|
if (!\is_string($name) || !\in_array(\strtolower($name), ['continue', 'empty', 'use', 'default', 'echo'])) {
|
|
return;
|
|
}
|
|
$name .= '_';
|
|
}
|
|
}
|