boolean (@NotNull String name, @NotNull PsiReference reference, @NotNull PyClass cls) { if (PyNames.DUNDER_AWAIT.equals(name) && reference instanceof PyOperatorReference && PyTypingTypeProvider.GENERATOR.equals(cls.getQualifiedName())) { final PyExpression receiver = ((PyOperatorReference)reference).getReceiver(); if (receiver instanceof PyCallExpression) { return PyKnownDecoratorUtil.isResolvedToGeneratorBasedCoroutine((PyCallExpression)receiver, getResolveContext(), myTypeEvalContext); } } return false; }