diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/include_no_side_effect_expr.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/include_no_side_effect_expr.php.inc
deleted file mode 100644
index 15251bb4368..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/include_no_side_effect_expr.php.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-call($value) : true;
- }
-
- public function run2($value, $someMethod, $variable)
- {
- $value ? $someMethod->call($value) : $variable;
- }
-}
-
-?>
------
-call($value);
- }
- }
-
- public function run2($value, $someMethod, $variable)
- {
- if ($value) {
- $someMethod->call($value);
- }
- }
-}
-
-?>
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/negated_value.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/negated_value.php.inc
deleted file mode 100644
index aebb2154725..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/negated_value.php.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-
------
-
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_increment_variable_on_else.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_increment_variable_on_else.php.inc
deleted file mode 100644
index 8a7291e065e..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_increment_variable_on_else.php.inc
+++ /dev/null
@@ -1,30 +0,0 @@
- $failed) {
- return $success;
- }
-
- return $failed;
- }
-
- public function run2($id)
- {
- $success = $failed = 0;
- ! $id ? ++$failed : ++$success;
-
- if ($success > $failed) {
- return $success;
- }
-
- return $failed;
- }
-}
\ No newline at end of file
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_on_else.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_on_else.php.inc
deleted file mode 100644
index 97b4351625b..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_on_else.php.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-a() : $this->b();
- }
-
- public function a(): void
- {
- new HeavyObject1();
- }
-
- public function b(): null
- {
- new HeavyObject2();
- return 'b';
- }
-}
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_with_assign_on_else.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_with_assign_on_else.php.inc
deleted file mode 100644
index f585e3eb474..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_method_call_with_assign_on_else.php.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-a() : $x = $this->b();
- }
-
- public function a(): void
- {
- new HeavyObject1();
- }
-
- public function b(): null
- {
- new HeavyObject2();
- return 'b';
- }
-}
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_null_ternary.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_null_ternary.php.inc
deleted file mode 100644
index e4838167739..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_null_ternary.php.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-call($value);
- }
-}
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_sort_ksort.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_sort_ksort.php.inc
deleted file mode 100644
index 764174ff393..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_sort_ksort.php.inc
+++ /dev/null
@@ -1,21 +0,0 @@
- $result && is_numeric($item), true);
- $isIndexedArray
- ? sort($array)
- : ksort($array);
-
- foreach ($array as &$value) {
- if (is_array($value)) {
- self::mksort($value);
- }
- }
- }
-}
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_with_html.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_with_html.php.inc
deleted file mode 100644
index 04db19849be..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/skip_with_html.php.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
call($a, 'v') ? ' class="x"' : '' ?>>
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/some_class.php.inc b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/some_class.php.inc
deleted file mode 100644
index 0aa00170ea4..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/Fixture/some_class.php.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-call($value) : false;
- }
-}
-
-?>
------
-call($value);
- }
- }
-}
-
-?>
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/TernaryFalseExpressionToIfRectorTest.php b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/TernaryFalseExpressionToIfRectorTest.php
deleted file mode 100644
index b34002f7e3a..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/TernaryFalseExpressionToIfRectorTest.php
+++ /dev/null
@@ -1,28 +0,0 @@
-doTestFile($filePath);
- }
-
- public static function provideData(): Iterator
- {
- return self::yieldFilesFromDirectory(__DIR__ . '/Fixture');
- }
-
- public function provideConfigFilePath(): string
- {
- return __DIR__ . '/config/configured_rule.php';
- }
-}
diff --git a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/config/configured_rule.php b/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/config/configured_rule.php
deleted file mode 100644
index 13fe1623e29..00000000000
--- a/rules-tests/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector/config/configured_rule.php
+++ /dev/null
@@ -1,9 +0,0 @@
-withRules([TernaryFalseExpressionToIfRector::class]);
diff --git a/rules/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector.php b/rules/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector.php
index 97beb61566d..6e34b2b0b81 100644
--- a/rules/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector.php
+++ b/rules/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector.php
@@ -5,26 +5,18 @@
namespace Rector\CodeQuality\Rector\Expression;
use PhpParser\Node;
-use PhpParser\Node\Expr;
-use PhpParser\Node\Expr\Ternary;
-use PhpParser\Node\Expr\Variable;
use PhpParser\Node\Stmt\Expression;
-use PhpParser\Node\Stmt\If_;
-use Rector\NodeAnalyzer\ExprAnalyzer;
+use Rector\Configuration\Deprecation\Contract\DeprecatedInterface;
+use Rector\Exception\ShouldNotHappenException;
use Rector\Rector\AbstractRector;
use Rector\RuleDoc\CodeSample\CodeSample;
use Rector\RuleDoc\RuleDefinition;
/**
- * @see \Rector\Tests\CodeQuality\Rector\Expression\TernaryFalseExpressionToIfRector\TernaryFalseExpressionToIfRectorTest
+ * @deprecated This rule is deprecated, as too niche for wide application.
*/
-final class TernaryFalseExpressionToIfRector extends AbstractRector
+final class TernaryFalseExpressionToIfRector extends AbstractRector implements DeprecatedInterface
{
- public function __construct(
- private readonly ExprAnalyzer $exprAnalyzer
- ) {
- }
-
public function getRuleDefinition(): RuleDefinition
{
return new RuleDefinition('Change ternary with false to if and explicit call', [
@@ -68,25 +60,6 @@ public function getNodeTypes(): array
*/
public function refactor(Node $node): ?Node
{
- if ($this->getFile()->containsHTML()) {
- return null;
- }
-
- if (! $node->expr instanceof Ternary) {
- return null;
- }
-
- $ternary = $node->expr;
- if (! $ternary->if instanceof Expr) {
- return null;
- }
-
- if (! $ternary->else instanceof Variable && $this->exprAnalyzer->isDynamicExpr($ternary->else)) {
- return null;
- }
-
- return new If_($ternary->cond, [
- 'stmts' => [new Expression($ternary->if)],
- ]);
+ throw new ShouldNotHappenException(sprintf('"%s" rule is deprecated, as too niche for wide application', self::class));
}
}
diff --git a/src/Config/Level/CodeQualityLevel.php b/src/Config/Level/CodeQualityLevel.php
index fe242112a26..2e491f9774c 100644
--- a/src/Config/Level/CodeQualityLevel.php
+++ b/src/Config/Level/CodeQualityLevel.php
@@ -27,7 +27,6 @@
use Rector\CodeQuality\Rector\Empty_\SimplifyEmptyCheckOnEmptyArrayRector;
use Rector\CodeQuality\Rector\Equal\UseIdenticalOverEqualWithSameTypeRector;
use Rector\CodeQuality\Rector\Expression\InlineIfToExplicitIfRector;
-use Rector\CodeQuality\Rector\Expression\TernaryFalseExpressionToIfRector;
use Rector\CodeQuality\Rector\Foreach_\ForeachToInArrayRector;
use Rector\CodeQuality\Rector\Foreach_\SimplifyForeachToCoalescingRector;
use Rector\CodeQuality\Rector\FuncCall\ArrayMergeOfNonArraysToSimpleArrayRector;
@@ -146,7 +145,6 @@ final class CodeQualityLevel
VariableConstFetchToClassConstFetchRector::class,
SingularSwitchToIfRector::class,
InlineIfToExplicitIfRector::class,
- TernaryFalseExpressionToIfRector::class,
SimplifyIfNullableReturnRector::class,
InlineArrayReturnAssignRector::class,
RemoveAlwaysElseRector::class,
diff --git a/tests/Issues/ChangeSwitchTernary/config/configured_rule.php b/tests/Issues/ChangeSwitchTernary/config/configured_rule.php
index 9bfc3eec3ea..fde969b0bf0 100644
--- a/tests/Issues/ChangeSwitchTernary/config/configured_rule.php
+++ b/tests/Issues/ChangeSwitchTernary/config/configured_rule.php
@@ -2,12 +2,11 @@
declare(strict_types=1);
-use Rector\CodeQuality\Rector\Expression\TernaryFalseExpressionToIfRector;
use Rector\Config\RectorConfig;
use Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector;
use Rector\Tests\Issues\ChangeSwitchTernary\Source\AnotherExpressionRector;
return RectorConfig::configure()
->withRules(
- [ChangeSwitchToMatchRector::class, TernaryFalseExpressionToIfRector::class, AnotherExpressionRector::class]
+ [ChangeSwitchToMatchRector::class, AnotherExpressionRector::class]
);
|