diff --git a/python/src/com/jetbrains/python/codeInsight/typing/PyTypingAnnotationInjector.java b/python/src/com/jetbrains/python/codeInsight/typing/PyTypingAnnotationInjector.java index 9003dde4710b..eacf8b258e1b 100644 --- a/python/src/com/jetbrains/python/codeInsight/typing/PyTypingAnnotationInjector.java +++ b/python/src/com/jetbrains/python/codeInsight/typing/PyTypingAnnotationInjector.java @@ -15,7 +15,6 @@ */ package com.jetbrains.python.codeInsight.typing; -import com.intellij.codeInsight.completion.CompletionUtil; import com.intellij.lang.Language; import com.intellij.lang.injection.MultiHostRegistrar; import com.intellij.openapi.util.TextRange; @@ -80,7 +79,7 @@ public class PyTypingAnnotationInjector extends PyInjectorBase { if (annotationText != null) { final int start = m.start(1); final int end = m.end(1); - if (start < end && allowInjectionInComment(host)) { + if (start < end) { final Language language; if ("ignore".equals(annotationText)) { language = null; @@ -111,10 +110,4 @@ public class PyTypingAnnotationInjector extends PyInjectorBase { private static boolean isTypingAnnotation(@NotNull String s) { return RE_TYPING_ANNOTATION.matcher(s).matches(); } - - private static boolean allowInjectionInComment(@NotNull PsiLanguageInjectionHost host) { - // XXX: Don't inject PyDocstringLanguage during completion inside comments due to an exception related to finding ShredImpl's - // hostElementPointer - return CompletionUtil.getOriginalOrSelf(host) == host; - } } diff --git a/python/testData/completion/typeComment.py b/python/testData/completion/typeComment.py new file mode 100644 index 000000000000..0f9d7bf53d19 --- /dev/null +++ b/python/testData/completion/typeComment.py @@ -0,0 +1,3 @@ +import typing + +a = [] # type: typing. \ 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 daf41b0e2c60..480437f318ce 100644 --- a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java @@ -1136,6 +1136,13 @@ public class PythonCompletionTest extends PyTestCase { assertDoesntContain(suggested, "_T", "_KT"); } + // PY-21519 + public void testTypeComment() { + myFixture.copyFileToProject("../typing/typing.py"); + final List variants = doTestByFile(); + assertContainsElements(variants, "List", "Union", "Optional"); + } + @Override protected String getTestDataPath() { return super.getTestDataPath() + "/completion";