PY-20662 Fixed: Making any magic method async displays an error, even though it is sometimes legal

Mark __call__ builtin as allowed to be async
This commit is contained in:
Semyon Proshev
2016-09-15 19:20:12 +03:00
parent 900ca1d925
commit 90a381b2f1
2 changed files with 4 additions and 1 deletions
@@ -695,7 +695,7 @@ public class PyFunctionImpl extends PyBaseElementImpl<PyFunctionStub> implements
return languageLevel.isAtLeast(LanguageLevel.PYTHON35) && (
functionName == null ||
ArrayUtil.contains(functionName, PyNames.AITER, PyNames.ANEXT, PyNames.AENTER, PyNames.AEXIT) ||
ArrayUtil.contains(functionName, PyNames.AITER, PyNames.ANEXT, PyNames.AENTER, PyNames.AEXIT, PyNames.CALL) ||
!PyNames.getBuiltinMethods(languageLevel).containsKey(functionName)
);
}
@@ -6,4 +6,7 @@ class A:
pass
async def __aiter__(self):
pass
async def __call__(self, *args, **kwargs):
pass