From bca27c374cc3a82045baafbe7d8045c842ed80e3 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 26 Aug 2025 20:13:41 +0700 Subject: [PATCH 1/3] [TypeDeclaration] Skip integer index on string on AddArrowFunctionParamArrayWhereDimFetchRector --- .../AddArrowFunctionParamArrayWhereDimFetchRector.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rules/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector.php b/rules/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector.php index 9e404ea0acc..7d04f95de39 100644 --- a/rules/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector.php +++ b/rules/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector.php @@ -146,6 +146,12 @@ private function resolveDimFetchVariableNames(Closure|ArrowFunction $closureExpr foreach ($arrayDimFetches as $arrayDimFetch) { if ($arrayDimFetch->var instanceof Variable) { + $type = $this->nodeTypeResolver->getNativeType($arrayDimFetch->var); + + if ($type->isString()->yes()) { + continue; + } + $usedDimFetchVariableNames[] = (string) $this->getName($arrayDimFetch->var); } } From 33dde960e782b077f6229f05d8d253fae24061b9 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 26 Aug 2025 20:13:45 +0700 Subject: [PATCH 2/3] [TypeDeclaration] Skip integer index on string on AddArrowFunctionParamArrayWhereDimFetchRector --- .../skip_integer_index_on_string.php.inc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc diff --git a/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc b/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc new file mode 100644 index 00000000000..fe64b1e7731 --- /dev/null +++ b/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc @@ -0,0 +1,19 @@ + strtoupper((string) $name[0]), + explode('.', $username), + ), + ); + } +} From 1c00f8881f6018e8cca0f0ed1776c46e9eeb9c5c Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 26 Aug 2025 20:15:28 +0700 Subject: [PATCH 3/3] [TypeDeclaration] Skip integer index on string on AddArrowFunctionParamArrayWhereDimFetchRector --- .../Fixture/skip_integer_index_on_string.php.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc b/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc index fe64b1e7731..1846fac2c0d 100644 --- a/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc +++ b/rules-tests/TypeDeclaration/Rector/FuncCall/AddArrowFunctionParamArrayWhereDimFetchRector/Fixture/skip_integer_index_on_string.php.inc @@ -2,7 +2,7 @@ namespace Rector\Tests\TypeDeclaration\Rector\FuncCall\AddArrowFunctionParamArrayWhereDimFetchRector\Fixture; -final class SkipFilledType +final class SkipIntegerIndexOnString { public function run() {