diff --git a/python/psi-api/src/com/jetbrains/python/PyNames.java b/python/psi-api/src/com/jetbrains/python/PyNames.java index 9a93ac5d84b6..ef36dc73814e 100644 --- a/python/psi-api/src/com/jetbrains/python/PyNames.java +++ b/python/psi-api/src/com/jetbrains/python/PyNames.java @@ -483,7 +483,7 @@ public class PyNames { EXCEPT, IMPORT, PRINT, - __CLASS__, + CLASS, EXEC, IN, RAISE, diff --git a/python/testData/refactoring/introduceVariable/dontSuggestReservedName.py b/python/testData/refactoring/introduceVariable/dontSuggestReservedName.py new file mode 100644 index 000000000000..647334dd5911 --- /dev/null +++ b/python/testData/refactoring/introduceVariable/dontSuggestReservedName.py @@ -0,0 +1,5 @@ +class Class: + pass + + +Class() diff --git a/python/testSrc/com/jetbrains/python/refactoring/PyIntroduceVariableTest.java b/python/testSrc/com/jetbrains/python/refactoring/PyIntroduceVariableTest.java index 551cc909511f..f23bc05869b1 100644 --- a/python/testSrc/com/jetbrains/python/refactoring/PyIntroduceVariableTest.java +++ b/python/testSrc/com/jetbrains/python/refactoring/PyIntroduceVariableTest.java @@ -87,6 +87,12 @@ public class PyIntroduceVariableTest extends PyIntroduceTestCase { assertDoesntContain(suggestions, "select"); } + // PY-17331 + public void testDontSuggestReservedName() { + final Collection suggestions = buildSuggestions(PyCallExpression.class); + assertDoesntContain(suggestions, "class"); + } + public void testSuggestNamesNotInScope() { // PY-4605 final Collection strings = buildSuggestions(PyExpression.class); assertTrue(strings.contains("myfunc1"));