diff --git a/docs/AllRectorsOverview.md b/docs/AllRectorsOverview.md
index 55aed4f877bd..e4c69191307e 100644
--- a/docs/AllRectorsOverview.md
+++ b/docs/AllRectorsOverview.md
@@ -1,4 +1,4 @@
-# All 367 Rectors Overview
+# All 369 Rectors Overview
- [Projects](#projects)
- [General](#general)
@@ -1235,6 +1235,7 @@ Import fully qualified names to use statements
```diff
+use SomeAnother\AnotherClass;
++use DateTime;
+
class SomeClass
{
@@ -1243,6 +1244,38 @@ Import fully qualified names to use statements
- return SomeAnother\AnotherClass;
+ return AnotherClass;
}
+
+ public function createDate()
+ {
+- return new \DateTime();
++ return new DateTime();
+ }
+ }
+```
+
+```yaml
+services:
+ Rector\CodingStyle\Rector\Namespace_\ImportFullyQualifiedNamesRector:
+ $shouldImportRootNamespaceClasses: false
+```
+
+↓
+
+```diff
++use SomeAnother\AnotherClass;
++
+ class SomeClass
+ {
+ public function create()
+ {
+- return SomeAnother\AnotherClass;
++ return AnotherClass;
+ }
+
+ public function createDate()
+ {
+ return new \DateTime(); // this remains untouched
+ }
}
```
@@ -1369,7 +1402,7 @@ services:
- class: `Rector\CodingStyle\Rector\Use_\RemoveUnusedAliasRector`
-Removes unused use aliases
+Removes unused use aliases. Keep annotation aliases like "Doctrine\ORM\Mapping as ORM" to keep convention format
```diff
-use Symfony\Kernel as BaseKernel;
@@ -1532,6 +1565,25 @@ Prefer quote that not inside the string
+### `UseIncrementAssignRector`
+
+- class: `Rector\CodingStyle\Rector\Assign\UseIncrementAssignRector`
+
+Use ++ increment instead of $var += 1.
+
+```diff
+ class SomeClass
+ {
+ public function run()
+ {
+- $style += 1;
++ ++$style
+ }
+ }
+```
+
+
+
### `VarConstantCommentRector`
- class: `Rector\CodingStyle\Rector\ClassConst\VarConstantCommentRector`
@@ -1983,6 +2035,26 @@ Removes method that set values that are never used
+### `RemoveUnreachableStatementRector`
+
+- class: `Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector`
+
+Remove unreachable statements
+
+```diff
+ class SomeClass
+ {
+ public function run()
+ {
+ return 5;
+-
+- $removeMe = 10;
+ }
+ }
+```
+
+
+
### `RemoveUnusedDoctrineEntityMethodAndPropertyRector`
- class: `Rector\DeadCode\Rector\Class_\RemoveUnusedDoctrineEntityMethodAndPropertyRector`
@@ -3869,7 +3941,7 @@ Remove 0 from break and continue
- class: `Rector\Php55\Rector\FuncCall\PregReplaceEModifierRector`
-The /e modifier is no longer supported, use preg_replace_callback instead
+The /e modifier is no longer supported, use preg_replace_callback instead
```diff
class SomeClass
diff --git a/docs/NodesOverview.md b/docs/NodesOverview.md
index b920efe543d0..9c57df3b2352 100644
--- a/docs/NodesOverview.md
+++ b/docs/NodesOverview.md
@@ -917,7 +917,7 @@ if (true) {
```php
?>
-feelfeel
diff --git a/packages/CodingStyle/src/Rector/Namespace_/ImportFullyQualifiedNamesRector.php b/packages/CodingStyle/src/Rector/Namespace_/ImportFullyQualifiedNamesRector.php
index 32912c6ae938..038667977bfe 100644
--- a/packages/CodingStyle/src/Rector/Namespace_/ImportFullyQualifiedNamesRector.php
+++ b/packages/CodingStyle/src/Rector/Namespace_/ImportFullyQualifiedNamesRector.php
@@ -7,6 +7,7 @@
use Rector\CodingStyle\Node\NameImporter;
use Rector\Rector\AbstractRector;
use Rector\RectorDefinition\CodeSample;
+use Rector\RectorDefinition\ConfiguredCodeSample;
use Rector\RectorDefinition\RectorDefinition;
/**
@@ -50,11 +51,17 @@ public function create()
{
return SomeAnother\AnotherClass;
}
+
+ public function createDate()
+ {
+ return new \DateTime();
+ }
}
PHP
,
<<<'PHP'
use SomeAnother\AnotherClass;
+use DateTime;
class SomeClass
{
@@ -62,9 +69,51 @@ public function create()
{
return AnotherClass;
}
+
+ public function createDate()
+ {
+ return new DateTime();
+ }
}
PHP
),
+ new ConfiguredCodeSample(
+ <<<'PHP'
+class SomeClass
+{
+ public function create()
+ {
+ return SomeAnother\AnotherClass;
+ }
+
+ public function createDate()
+ {
+ return new \DateTime(); // this remains untouched
+ }
+}
+PHP
+ ,
+ <<<'PHP'
+use SomeAnother\AnotherClass;
+
+class SomeClass
+{
+ public function create()
+ {
+ return AnotherClass;
+ }
+
+ public function createDate()
+ {
+ return new \DateTime(); // this remains untouched
+ }
+}
+PHP
+ ,
+ [
+ '$shouldImportRootNamespaceClasses' => false,
+ ]
+ ),
]);
}