void (PyArgumentList node, ProblemsHolder holder, TypeEvalContext context) { for (PyExpression arg : node.getArguments()) { if (arg instanceof PyStarArgument) { PyExpression content = PyUtil.peelArgument(PsiTreeUtil.findChildOfType(arg, PyExpression.class)); if (content != null) { PyType inside_type = context.getType(content); if (inside_type != null && !PyTypeChecker.isUnknown(inside_type, context)) { if (((PyStarArgument)arg).isKeyword()) { if (!PyABCUtil.isSubtype(inside_type, PyNames.MAPPING, context)) { holder.registerProblem(arg, PyPsiBundle.message("INSP.expected.dict.got.type", inside_type.getName())); } } else { // * arg if (!PyABCUtil.isSubtype(inside_type, PyNames.ITERABLE, context)) { holder.registerProblem(arg, PyPsiBundle.message("INSP.expected.iterable.got.type", inside_type.getName())); } } } } } } }