Ref<PyType> (@NotNull PyNamedParameter param, @NotNull PyFunction func, @NotNull TypeEvalContext context) { final String name = param.getName(); if (name != null) { final PsiElement pythonStub = PyiUtil.getPythonStub(func); if (pythonStub instanceof PyFunction functionStub) { final PyNamedParameter paramSkeleton = functionStub.getParameterList().findParameterByName(name); if (paramSkeleton != null) { final PyType type = context.getType(paramSkeleton); if (type != null) { return Ref.create(type); } } } // TODO: Allow the stub for a function to be defined as a class or a target expression alias } return null; }