diff --git a/docs/rector_rules_overview.md b/docs/rector_rules_overview.md
index 531f2fc8878..d71c3c0d0fd 100644
--- a/docs/rector_rules_overview.md
+++ b/docs/rector_rules_overview.md
@@ -52,7 +52,7 @@
- [Privatization](#privatization) (7)
-- [Removing](#removing) (5)
+- [Removing](#removing) (6)
- [RemovingStatic](#removingstatic) (1)
@@ -6942,6 +6942,39 @@ return static function (RectorConfig $rectorConfig): void {
+### RemoveFuncCallRector
+
+Remove function
+
+:wrench: **configure it!**
+
+- class: [`Rector\Removing\Rector\FuncCall\RemoveFuncCallRector`](../rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php)
+
+```php
+ruleWithConfiguration(RemoveFuncCallRector::class, [
+ 'var_dump',
+ ]);
+};
+```
+
+↓
+
+```diff
+-$x = 'something';
+-var_dump($x);
++$x = 'something';
+```
+
+
+
### RemoveInterfacesRector
Removes interfaces usage from class.
diff --git a/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php b/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php
new file mode 100644
index 00000000000..0eff42ca417
--- /dev/null
+++ b/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php
@@ -0,0 +1,71 @@
+>
+ */
+ public function getNodeTypes() : array
+ {
+ return [Expression::class];
+ }
+ /**
+ * @param Expression $node
+ */
+ public function refactor(Node $node) : ?Node
+ {
+ $expr = $node->expr;
+ if (!$expr instanceof FuncCall) {
+ return null;
+ }
+ $this->removeNodeIfNeeded($node, $expr);
+ return null;
+ }
+ /**
+ * @param mixed[] $configuration
+ */
+ public function configure(array $configuration) : void
+ {
+ Assert::allString($configuration);
+ $this->removedFunctions = $configuration;
+ }
+ private function removeNodeIfNeeded(Expression $node, FuncCall $expr) : void
+ {
+ foreach ($this->removedFunctions as $removedFunction) {
+ if (!$this->isName($expr->name, $removedFunction)) {
+ continue;
+ }
+ $this->removeNode($node);
+ break;
+ }
+ }
+}
diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php
index a4b8995baf9..15fdb282200 100644
--- a/src/Application/VersionResolver.php
+++ b/src/Application/VersionResolver.php
@@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
- public const PACKAGE_VERSION = 'f604bf38cbb3b1053e0cec78423e82bd6e72b29d';
+ public const PACKAGE_VERSION = 'ebc2e7efa17d9871cc5d9b90a81c41d504a214db';
/**
* @api
* @var string
*/
- public const RELEASE_DATE = '2023-04-09 11:39:55';
+ public const RELEASE_DATE = '2023-04-10 15:15:13';
/**
* @var int
*/
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 8cae64da0c7..404fe7ad66b 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
-return ComposerAutoloaderInit89fc8dc7efd43be062f97964d6ed76aa::getLoader();
+return ComposerAutoloaderInit396b82c5df91b4b5cc5ac3eeddf2c8e3::getLoader();
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 68bc39ad5c7..cfbf42d9da2 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -2435,6 +2435,7 @@ return array(
'Rector\\Removing\\Rector\\Class_\\RemoveParentRector' => $baseDir . '/rules/Removing/Rector/Class_/RemoveParentRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveTraitUseRector' => $baseDir . '/rules/Removing/Rector/Class_/RemoveTraitUseRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallArgRector' => $baseDir . '/rules/Removing/Rector/FuncCall/RemoveFuncCallArgRector.php',
+ 'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallRector' => $baseDir . '/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php',
'Rector\\Removing\\ValueObject\\ArgumentRemover' => $baseDir . '/rules/Removing/ValueObject/ArgumentRemover.php',
'Rector\\Removing\\ValueObject\\RemoveFuncCallArg' => $baseDir . '/rules/Removing/ValueObject/RemoveFuncCallArg.php',
'Rector\\Renaming\\Contract\\MethodCallRenameInterface' => $baseDir . '/rules/Renaming/Contract/MethodCallRenameInterface.php',
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index b82d5026a23..06a53bcea22 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInit89fc8dc7efd43be062f97964d6ed76aa
+class ComposerAutoloaderInit396b82c5df91b4b5cc5ac3eeddf2c8e3
{
private static $loader;
@@ -22,17 +22,17 @@ class ComposerAutoloaderInit89fc8dc7efd43be062f97964d6ed76aa
return self::$loader;
}
- spl_autoload_register(array('ComposerAutoloaderInit89fc8dc7efd43be062f97964d6ed76aa', 'loadClassLoader'), true, true);
+ spl_autoload_register(array('ComposerAutoloaderInit396b82c5df91b4b5cc5ac3eeddf2c8e3', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
- spl_autoload_unregister(array('ComposerAutoloaderInit89fc8dc7efd43be062f97964d6ed76aa', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInit396b82c5df91b4b5cc5ac3eeddf2c8e3', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
- call_user_func(\Composer\Autoload\ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa::getInitializer($loader));
+ call_user_func(\Composer\Autoload\ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
- $filesToLoad = \Composer\Autoload\ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa::$files;
+ $filesToLoad = \Composer\Autoload\ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 2317c6d789f..3dc4ec9e4d8 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
namespace Composer\Autoload;
-class ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa
+class ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@@ -2682,6 +2682,7 @@ class ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa
'Rector\\Removing\\Rector\\Class_\\RemoveParentRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/Class_/RemoveParentRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveTraitUseRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/Class_/RemoveTraitUseRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallArgRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/FuncCall/RemoveFuncCallArgRector.php',
+ 'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php',
'Rector\\Removing\\ValueObject\\ArgumentRemover' => __DIR__ . '/../..' . '/rules/Removing/ValueObject/ArgumentRemover.php',
'Rector\\Removing\\ValueObject\\RemoveFuncCallArg' => __DIR__ . '/../..' . '/rules/Removing/ValueObject/RemoveFuncCallArg.php',
'Rector\\Renaming\\Contract\\MethodCallRenameInterface' => __DIR__ . '/../..' . '/rules/Renaming/Contract/MethodCallRenameInterface.php',
@@ -3137,9 +3138,9 @@ class ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa::$prefixDirsPsr4;
- $loader->classMap = ComposerStaticInit89fc8dc7efd43be062f97964d6ed76aa::$classMap;
+ $loader->prefixLengthsPsr4 = ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInit396b82c5df91b4b5cc5ac3eeddf2c8e3::$classMap;
}, null, ClassLoader::class);
}