Ref<PyType> (@NotNull PyNamedParameter param, @NotNull PyFunction func, @NotNull TypeEvalContext context) { if (PyiUtil.isInsideStub(param)) { return null; } final String name = param.getName(); if (name != null) { final PyFunction functionSkeleton = PyUserSkeletonsUtil.getUserSkeletonWithContext(func, context); if (functionSkeleton != null) { final PyNamedParameter paramSkeleton = functionSkeleton.getParameterList().findParameterByName(name); if (paramSkeleton != null) { final PyType type = context.getType(paramSkeleton); if (type != null) { return Ref.create(type); } } } } return null; }