void (@NotNull PsiCall methodCall, @NotNull ProblemsHolder holder) { PsiExpressionList argumentList = methodCall.getArgumentList(); if (argumentList == null) return; PsiMethod method = methodCall.resolveMethod(); if (method == null) return; PsiParameter[] parameters = method.getParameterList().getParameters(); PsiExpression[] arguments = argumentList.getExpressions(); for (int i = 0; i < parameters.length; i++) { PsiParameter parameter = parameters[i]; PsiType type = parameter.getType(); int stopArg = i; if (type instanceof PsiEllipsisType ellipsisType) { type = ellipsisType.getComponentType(); stopArg = arguments.length - 1; } AllowedValues values = MagicConstantUtils.getAllowedValues(parameter, type, methodCall); if (values == null) continue; if (i >= arguments.length) break; for (int j = i; j <= stopArg; j++) { PsiExpression argument = arguments[j]; argument = PsiUtil.deparenthesizeExpression(argument); if (argument == null) continue; checkMagicParameterArgument(parameter, argument, values, holder); } } }