From 6d7513719f1a314aa98fdb1884606c1c439f723f Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 11 Jul 2021 01:10:28 +0700 Subject: [PATCH 1/2] [PSR4] Skip NormalizeNamespaceByPSR4ComposerAutoloadRector on has inline HTML --- .../NormalizeNamespaceByPSR4ComposerAutoloadRector.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rules/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector.php b/rules/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector.php index 100f497b3cc..4892eff03ed 100644 --- a/rules/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector.php +++ b/rules/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector.php @@ -7,6 +7,7 @@ use PhpParser\Node; use PhpParser\Node\Name; use PhpParser\Node\Stmt\Declare_; +use PhpParser\Node\Stmt\InlineHTML; use PhpParser\Node\Stmt\Namespace_; use Rector\Core\PhpParser\Node\CustomNode\FileWithoutNamespace; use Rector\Core\Rector\AbstractRector; @@ -80,6 +81,10 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { + if ($this->shouldSkip($node)) { + return null; + } + $expectedNamespace = $this->psr4AutoloadNamespaceMatcher->getExpectedNamespace($this->file, $node); if ($expectedNamespace === null) { return null; @@ -101,6 +106,11 @@ public function refactor(Node $node): ?Node return $node; } + private function shouldSkip(Node $node): bool + { + return (bool) $this->betterNodeFinder->findFirstInstanceOf($node, InlineHTML::class); + } + private function refactorFileWithoutNamespace( FileWithoutNamespace $fileWithoutNamespace, string $expectedNamespace From c06501574fabfa26783b9e7dc0d1bd2a97ff579c Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 11 Jul 2021 01:10:35 +0700 Subject: [PATCH 2/2] fixture --- .../Fixture/skip_inline_html.php.inc | 1 + 1 file changed, 1 insertion(+) create mode 100644 rules-tests/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector/Fixture/skip_inline_html.php.inc diff --git a/rules-tests/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector/Fixture/skip_inline_html.php.inc b/rules-tests/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector/Fixture/skip_inline_html.php.inc new file mode 100644 index 00000000000..50ebb59f064 --- /dev/null +++ b/rules-tests/PSR4/Rector/FileWithoutNamespace/NormalizeNamespaceByPSR4ComposerAutoloadRector/Fixture/skip_inline_html.php.inc @@ -0,0 +1 @@ +

{{ content }}