From fb9ad83c32770022a3816ee06c88d92cd84dc322 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 11 Jul 2021 22:22:12 +0700 Subject: [PATCH] [CodeQuality] Skip InlineIfToExplicitIfRector on constant definition (#422) * [CodeQuality] Skip InlineIfToExplicitIfRector on constant definition * handle boolean not left ! define() * eol * handle boolean not left ! define() * clean up --- .../Fixture/skip_constant_definition.php.inc | 6 ++++++ .../Rector/Expression/InlineIfToExplicitIfRector.php | 10 ++++++++++ 2 files changed, 16 insertions(+) create mode 100644 rules-tests/CodeQuality/Rector/Expression/InlineIfToExplicitIfRector/Fixture/skip_constant_definition.php.inc diff --git a/rules-tests/CodeQuality/Rector/Expression/InlineIfToExplicitIfRector/Fixture/skip_constant_definition.php.inc b/rules-tests/CodeQuality/Rector/Expression/InlineIfToExplicitIfRector/Fixture/skip_constant_definition.php.inc new file mode 100644 index 00000000000..eee0f3d7dda --- /dev/null +++ b/rules-tests/CodeQuality/Rector/Expression/InlineIfToExplicitIfRector/Fixture/skip_constant_definition.php.inc @@ -0,0 +1,6 @@ +left instanceof BooleanNot + ? $booleanExpr->left->expr + : $booleanExpr->left; + + if ($exprLeft instanceof FuncCall && $this->isName($exprLeft, 'defined')) { + return null; + } + /** @var Expr $expr */ $expr = $booleanExpr instanceof BooleanAnd ? $booleanExpr->left