diff --git a/python/src/com/jetbrains/python/codeInsight/PyDictKeyNamesCompletionContributor.java b/python/src/com/jetbrains/python/codeInsight/PyDictKeyNamesCompletionContributor.java index 3ab65a5c3cdf..2f14658369a4 100644 --- a/python/src/com/jetbrains/python/codeInsight/PyDictKeyNamesCompletionContributor.java +++ b/python/src/com/jetbrains/python/codeInsight/PyDictKeyNamesCompletionContributor.java @@ -70,13 +70,6 @@ public class PyDictKeyNamesCompletionContributor extends PySeeingOriginalComplet } } } - // filter unusable lookup elements - dictCompletion.runRemainingContributors(parameters, new Consumer() { - public void consume(final LookupElement lookupElement) { - if (lookupElement.getLookupString().equals("dict key")) - dictCompletion.addElement(lookupElement); - } - }); } } ); diff --git a/python/testData/completion/localVarInDictKey.after.py b/python/testData/completion/localVarInDictKey.after.py new file mode 100644 index 000000000000..36099b4f8f74 --- /dev/null +++ b/python/testData/completion/localVarInDictKey.after.py @@ -0,0 +1,8 @@ +ENCODINGS = {} + +class C: + def foo(self): + if self.id[0] == 'T': + encoding = ord(self.rawData[0]) + if 0 <= encoding < len(ENCODINGS): + value = self.rawData[1:].decode(ENCODINGS[encoding]) \ No newline at end of file diff --git a/python/testData/completion/localVarInDictKey.py b/python/testData/completion/localVarInDictKey.py new file mode 100644 index 000000000000..676c5e459a1e --- /dev/null +++ b/python/testData/completion/localVarInDictKey.py @@ -0,0 +1,8 @@ +ENCODINGS = {} + +class C: + def foo(self): + if self.id[0] == 'T': + encoding = ord(self.rawData[0]) + if 0 <= encoding < len(ENCODINGS): + value = self.rawData[1:].decode(ENCODINGS[enc]) \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java index 578906694157..54c61f7f671b 100644 --- a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java @@ -247,4 +247,8 @@ public class PythonCompletionTest extends PyLightFixtureTestCase { public void testElseInCondExpr() { // PY-2397 doTest(); } + + public void testLocalVarInDictKey() { // PY-2558 + doTest(); + } }