PyClassType (@Nullable PyExpression location, @NotNull TypeEvalContext context) { final String className; if (location instanceof PyReferenceExpression && isBoundMethodReference((PyReferenceExpression)location, context)) { className = PyNames.TYPES_METHOD_TYPE; } else { className = PyNames.TYPES_FUNCTION_TYPE; } final PyClass cls = PyPsiFacade.getInstance(myCallable.getProject()).createClassByQName(className, myCallable); return cls != null ? new PyClassTypeImpl(cls, false) : null; }