[python] refactoring: Match positional-or-keyword parameters similar to positional-only and keyword-only

GitOrigin-RevId: 942cf1d4a6dcbf0c428afc63c653fcd55ddc2c86
This commit is contained in:
Mikhail Golubev
2025-11-25 18:58:25 +00:00
committed by intellij-monorepo-bot
parent f1221cc83e
commit dbb60963b9
@@ -1023,10 +1023,7 @@ fun analyzeArguments(
if (keywordArgument != null && !(!hasSlashParameter && !seenStarArgs && parameterName != null && isPrivate(parameterName))) {
mappedParameters.put(keywordArgument, parameter)
}
else if (variadicPositionalArguments.isEmpty() && variadicKeywordArguments.isEmpty() && !parameter.hasDefaultValue()) {
unmappedParameters.add(parameter)
}
else {
else if (!variadicPositionalArguments.isEmpty() || !variadicKeywordArguments.isEmpty()) {
if (!variadicPositionalArguments.isEmpty()) {
parametersMappedToVariadicPositionalArguments.add(parameter)
}
@@ -1035,6 +1032,9 @@ fun analyzeArguments(
}
mappedVariadicArgumentsToParameters = true
}
else if (!parameter.hasDefaultValue()) {
unmappedParameters.add(parameter)
}
}
else {
val positionalArgument = allPositionalArguments.next()