nodeNameResolver = $nodeNameResolver; } /** * @param string[] $renameMethodMap * @param \PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node */ public function renameNodeWithMap($node, array $renameMethodMap) : void { $oldNodeMethodName = $this->resolveOldMethodName($node); if ($oldNodeMethodName === null) { return; } $node->name = new \PhpParser\Node\Identifier($renameMethodMap[$oldNodeMethodName]); } /** * @param \PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node */ public function removeSuffix($node, string $suffixToRemove) : void { $name = $this->nodeNameResolver->getName($node); if ($name === null) { return; } $newName = \RectorPrefix20210711\Nette\Utils\Strings::replace($name, \sprintf('#%s$#', $suffixToRemove), ''); $node->name = new \PhpParser\Node\Identifier($newName); } /** * @param \PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node */ private function resolveOldMethodName($node) : ?string { if ($node instanceof \PhpParser\Node\Expr\StaticCall || $node instanceof \PhpParser\Node\Expr\MethodCall) { return $this->nodeNameResolver->getName($node->name); } return $this->nodeNameResolver->getName($node); } }