Skip to content

Commit 8073ee7

Browse files
authored
remove arg positoin from AddClosureParamTypeFromArg, to ease configuration (#6260)
* remove arg positoin from AddClosureParamTypeFromArg, to ease configuration * fixup! remove arg positoin from AddClosureParamTypeFromArg, to ease configuration
1 parent 92eba45 commit 8073ee7

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

rules-tests/TypeDeclaration/Rector/FunctionLike/AddClosureParamTypeFromArgRector/config/configured_rule.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
return static function (RectorConfig $rectorConfig): void {
1212
$rectorConfig
1313
->ruleWithConfiguration(AddClosureParamTypeFromArgRector::class, [
14-
new AddClosureParamTypeFromArg(SimpleContainer::class, 'someCall', 1, 0, 0),
14+
new AddClosureParamTypeFromArg(SimpleContainer::class, 'someCall', 1, 0),
1515
]);
1616

1717
$rectorConfig->phpVersion(PhpVersionFeature::MIXED_TYPE);

rules/TypeDeclaration/Rector/FunctionLike/AddClosureParamTypeFromArgRector.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
*/
3636
final class AddClosureParamTypeFromArgRector extends AbstractRector implements ConfigurableRectorInterface
3737
{
38+
/**
39+
* @var int
40+
*/
41+
private const DEFAULT_CLOSURE_ARG_POSITION = 0;
42+
3843
/**
3944
* @var AddClosureParamTypeFromArg[]
4045
*/
@@ -61,7 +66,7 @@ public function getRuleDefinition(): RuleDefinition
6166
$app->extend(SomeClass::class, function (SomeClass $parameter) {});
6267
CODE_SAMPLE
6368
,
64-
[new AddClosureParamTypeFromArg('Container', 'extend', 1, 0, 0)]
69+
[new AddClosureParamTypeFromArg('Container', 'extend', 1, 0)]
6570
),
6671
]);
6772
}
@@ -135,7 +140,7 @@ private function processCallLike(
135140
return null;
136141
}
137142

138-
$callLikeArg = $callLike->getArgs()[$addClosureParamTypeFromArg->getFromArgPosition()] ?? null;
143+
$callLikeArg = $callLike->getArgs()[self::DEFAULT_CLOSURE_ARG_POSITION] ?? null;
139144
if (! $callLikeArg instanceof Arg) {
140145
return null;
141146
}

rules/TypeDeclaration/ValueObject/AddClosureParamTypeFromArg.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@
1212
/**
1313
* @param int<0, max> $callLikePosition
1414
* @param int<0, max> $functionLikePosition
15-
* @param int<0, max> $fromArgPosition
1615
*/
1716
public function __construct(
1817
private string $className,
1918
private string $methodName,
2019
private int $callLikePosition,
2120
private int $functionLikePosition,
22-
private int $fromArgPosition,
2321
) {
2422
RectorAssert::className($className);
2523
}
@@ -49,12 +47,4 @@ public function getFunctionLikePosition(): int
4947
{
5048
return $this->functionLikePosition;
5149
}
52-
53-
/**
54-
* @return int<0, max>
55-
*/
56-
public function getFromArgPosition(): int
57-
{
58-
return $this->fromArgPosition;
59-
}
6050
}

0 commit comments

Comments
 (0)