From 0401cdc3ab0e58fb06824f7ff18015633770d718 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 20 Dec 2010 18:12:24 +0300 Subject: [PATCH] don't suppress other completion contributors in dict keys (PY-2558) --- .../codeInsight/PyDictKeyNamesCompletionContributor.java | 7 ------- python/testData/completion/localVarInDictKey.after.py | 8 ++++++++ python/testData/completion/localVarInDictKey.py | 8 ++++++++ .../com/jetbrains/python/PythonCompletionTest.java | 4 ++++ 4 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 python/testData/completion/localVarInDictKey.after.py create mode 100644 python/testData/completion/localVarInDictKey.py 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(); + } }