Skip to content

Commit 63aad53

Browse files
committed
Simplify by not using non-ignorable error
1 parent e1a314c commit 63aad53

File tree

1 file changed

+7
-21
lines changed

1 file changed

+7
-21
lines changed

src/Rules/FunctionCallParametersCheck.php

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public function check(
9393
$functionParametersMaxCount = -1;
9494
}
9595

96-
/** @var array<int, array{Expr, Type|null, bool, string|null, int, bool}> $arguments */
96+
/** @var array<int, array{Expr, Type|null, bool, string|null, int}> $arguments */
9797
$arguments = [];
9898
/** @var array<int, Node\Arg> $args */
9999
$args = $funcCall->getArgs();
@@ -107,8 +107,6 @@ public function check(
107107
$argumentName = $arg->name->toString();
108108
}
109109

110-
$nonUnpackAfterUnpacked = false;
111-
112110
if ($hasNamedArguments && $arg->unpack) {
113111
$errors[] = RuleErrorBuilder::message('Named argument cannot be followed by an unpacked (...) argument.')
114112
->identifier('argument.unpackAfterNamed')
@@ -117,8 +115,6 @@ public function check(
117115
->build();
118116
}
119117
if ($hasUnpackedArgument && !$arg->unpack) {
120-
$nonUnpackAfterUnpacked = true;
121-
122118
if ($argumentName === null || !$scope->getPhpVersion()->supportsNamedArgumentAfterUnpackedArgument()->yes()) {
123119
$errors[] = RuleErrorBuilder::message('Unpacked argument (...) cannot be followed by a non-unpacked argument.')
124120
->identifier('argument.nonUnpackAfterUnpacked')
@@ -183,7 +179,6 @@ public function check(
183179
false,
184180
$keyArgumentName,
185181
$arg->getStartLine(),
186-
$nonUnpackAfterUnpacked,
187182
];
188183
}
189184
} else {
@@ -193,7 +188,6 @@ public function check(
193188
true,
194189
null,
195190
$arg->getStartLine(),
196-
$nonUnpackAfterUnpacked,
197191
];
198192
}
199193
continue;
@@ -205,7 +199,6 @@ public function check(
205199
false,
206200
$argumentName,
207201
$arg->getStartLine(),
208-
$nonUnpackAfterUnpacked,
209202
];
210203
}
211204

@@ -557,7 +550,7 @@ private function processArguments(
557550
$newArguments = [];
558551

559552
$namedArgumentAlreadyOccurred = false;
560-
foreach ($arguments as $i => [$argumentValue, $argumentValueType, $unpack, $argumentName, $argumentLine, $nonUnpackAfterUnpacked]) {
553+
foreach ($arguments as $i => [$argumentValue, $argumentValueType, $unpack, $argumentName, $argumentLine]) {
561554
if ($argumentName === null) {
562555
if (!isset($parameters[$i])) {
563556
if (!$parametersAcceptor->isVariadic() || count($parameters) === 0) {
@@ -617,18 +610,11 @@ private function processArguments(
617610
&& !$parameter->isVariadic()
618611
&& !array_key_exists($parameter->getName(), $unusedParametersByName)
619612
) {
620-
if ($nonUnpackAfterUnpacked) {
621-
$errors[] = RuleErrorBuilder::message(sprintf('Named parameter cannot overwrite already unpacked argument $%s.', $parameter->getName()))
622-
->identifier('argument.namedOverwriteAfterUnpacked')
623-
->line($argumentLine)
624-
->nonIgnorable()
625-
->build();
626-
} else {
627-
$errors[] = RuleErrorBuilder::message(sprintf('Argument for parameter $%s has already been passed.', $parameter->getName()))
628-
->identifier('argument.duplicate')
629-
->line($argumentLine)
630-
->build();
631-
}
613+
$errors[] = RuleErrorBuilder::message(sprintf('Named parameter cannot overwrite already unpacked argument $%s.', $parameter->getName()))
614+
->identifier('argument.namedOverwriteAfterUnpacked')
615+
->line($argumentLine)
616+
->nonIgnorable()
617+
->build();
632618

633619
continue;
634620
}

0 commit comments

Comments
 (0)