From 7901ae387c44b98cfd7a91bd0ccebf711652affe Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Thu, 12 Dec 2024 19:51:02 +0700 Subject: [PATCH 1/3] [DowngradePhp73] Handle comma in array on DowngradeFlexibleHeredocSyntaxRector --- .../Fixture/comma_in_array.php.inc | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc diff --git a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc new file mode 100644 index 00000000..e79ae699 --- /dev/null +++ b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc @@ -0,0 +1,44 @@ + +----- + From 5bcd322a7f80ca9838a14dcb9405a148dd06d482 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Thu, 12 Dec 2024 20:28:13 +0700 Subject: [PATCH 2/3] update fixture --- .../Fixture/comma_in_array.php.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc index e79ae699..b67f0e49 100644 --- a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc +++ b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/comma_in_array.php.inc @@ -33,7 +33,8 @@ class CommaInArray Date: Thu, 12 Dec 2024 20:39:40 +0700 Subject: [PATCH 3/3] fix --- .../Fixture/fixture.php.inc | 9 ++++++--- .../Fixture/line_ends_with_newline_or_semicolon.php.inc | 6 ++++-- .../String_/DowngradeFlexibleHeredocSyntaxRector.php | 5 +++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/fixture.php.inc b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/fixture.php.inc index b2345389..f519282d 100644 --- a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/fixture.php.inc +++ b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/fixture.php.inc @@ -37,16 +37,19 @@ class Fixture SELECT * FROM `table` WHERE `column` = true; -SQL; +SQL +; $this->setOnClick(<<setOnClick(<<getHtmlId()}').value = ''; document.getElementById('{$this->getHtmlId()}').onchange(); -JAVASCRIPT); +JAVASCRIPT +); } } diff --git a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/line_ends_with_newline_or_semicolon.php.inc b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/line_ends_with_newline_or_semicolon.php.inc index b7e558c6..041d2de7 100644 --- a/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/line_ends_with_newline_or_semicolon.php.inc +++ b/rules-tests/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector/Fixture/line_ends_with_newline_or_semicolon.php.inc @@ -46,11 +46,13 @@ EOS $needsDowngrade1 = sprintf(<<setAttribute(AttributeKey::DOC_INDENTATION, '__REMOVED__'); $node->setAttribute(AttributeKey::ORIGINAL_NODE, null); + $tokens = $this->file->getOldTokens(); + if (isset($tokens[$node->getEndTokenPos()], $tokens[$node->getEndTokenPos() + 1])) { + $tokens[$node->getEndTokenPos() + 1]->text = "\n" . $tokens[$node->getEndTokenPos() + 1]->text; + } + return $node; } }