void (PyCallExpression callExpression, PyCallableType callableType, List<PyCallableParameter> parameters, PyCallExpression.PyArgumentsMapping mapping, Map<Integer, PyCallableParameter> indexToNamedParameter, Map<PyCallableParameter, Integer> parameterToHintIndex, Map<Integer, EnumSet<ParameterFlag>> hintFlags, int currentParamOffset) { // gray out enough first parameters as implicit (self, cls, ...) for (int i = 0; i < callableType.getImplicitOffset(); i++) { if (indexToNamedParameter.containsKey(i)) { final PyCallableParameter parameter = indexToNamedParameter.get(i); hintFlags.get(parameterToHintIndex.get(parameter)).add(ParameterFlag.DISABLE); // show but mark as absent } } final List<PyExpression> flattenedArguments = PyUtil.flattenedParensAndLists(callExpression.getArguments()); final int lastParamIndex = collectHighlights(mapping, parameters, parameterToHintIndex, hintFlags, flattenedArguments, currentParamOffset); highlightNext(callableType, parameters, indexToNamedParameter, parameterToHintIndex, hintFlags, flattenedArguments.isEmpty(), lastParamIndex); }