From 87988e10a02d21e0d9cd48c4a5747dfe7097d8ae Mon Sep 17 00:00:00 2001 From: Semyon Proshev Date: Tue, 26 Jul 2016 19:20:51 +0300 Subject: [PATCH] Introduce ANEXT, AENTER and AEXIT in PyNames --- python/psi-api/src/com/jetbrains/python/PyNames.java | 9 ++++++--- .../com/jetbrains/python/psi/impl/PyFunctionImpl.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/python/psi-api/src/com/jetbrains/python/PyNames.java b/python/psi-api/src/com/jetbrains/python/PyNames.java index 11c723e9de7e..99896e451317 100644 --- a/python/psi-api/src/com/jetbrains/python/PyNames.java +++ b/python/psi-api/src/com/jetbrains/python/PyNames.java @@ -166,6 +166,9 @@ public class PyNames { public static final String DIV = "__div__"; public static final String TRUEDIV = "__truediv__"; public static final String AITER = "__aiter__"; + public static final String ANEXT = "__anext__"; + public static final String AENTER = "__aenter__"; + public static final String AEXIT = "__aexit__"; public static final String SIZEOF = "__sizeof__"; public static final String NAME = "__name__"; @@ -409,10 +412,10 @@ public class PyNames { .put("__matmul__", _self_other_descr) .put("__rmatmul__", _self_other_descr) .put("__await__", _only_self_descr) - .put("__aenter__", _only_self_descr) - .put("__aexit__", _exit_descr) + .put(AENTER, _only_self_descr) + .put(AEXIT, _exit_descr) .put(AITER, _only_self_descr) - .put("__anext__", _only_self_descr) + .put(ANEXT, _only_self_descr) .build(); public static ImmutableMap getBuiltinMethods(LanguageLevel level) { diff --git a/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java b/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java index f41f4104cfa3..dcf90bfea17a 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyFunctionImpl.java @@ -683,7 +683,7 @@ public class PyFunctionImpl extends PyBaseElementImpl implements return languageLevel.isAtLeast(LanguageLevel.PYTHON35) && ( functionName == null || - ArrayUtil.contains(functionName, PyNames.AITER, "__anext__", "__aenter__", "__aexit__") || + ArrayUtil.contains(functionName, PyNames.AITER, PyNames.ANEXT, PyNames.AENTER, PyNames.AEXIT) || !PyNames.getBuiltinMethods(languageLevel).containsKey(functionName) ); }