From 9230c29d33b7bc7cfad6a9d50a35c67e600de654 Mon Sep 17 00:00:00 2001 From: Azim Akhmadjonov Date: Tue, 16 Jun 2026 10:30:46 +0200 Subject: [PATCH] PY-90193 Rename `PyDocstring` classes and references to `PyDoctest` for clarity and consistency (cherry picked from commit 94b36487487d4d6660f44e15a9a7e0c98011cea4) IJ-MR-208617 GitOrigin-RevId: 2377cab55ffa6ac503d61dc28c482f9fc3ac3fa7 --- .../intellij.python.community.impl.xml | 2 +- .../markdown/PyCodeFenceLanguageProvider.kt | 6 +-- .../resources/intellij.python.psi.impl.xml | 4 +- .../resources/messages/PyPsiBundle.properties | 2 +- .../PyKeywordCompletionContributor.java | 4 +- .../PyFunctionTypeAnnotationParser.java | 4 +- .../codeInsight/imports/AddImportHelper.kt | 4 +- .../intentions/PyAnnotateTypesIntention.java | 4 +- .../PyAnnotateVariableTypeIntention.java | 4 +- .../PyGenerateDocstringIntention.java | 4 +- .../codeInsight/intentions/TypeIntention.java | 4 +- .../typeHints/PyTypeHintParser.java | 6 +-- .../PyDocstringCodeBlockVisitorFilter.kt | 2 +- .../doctest/PyDocstringErrorFilter.java | 2 +- .../doctest/PyDocstringFile.java | 34 +++------------ .../PyDocstringFormattingModelBuilder.kt | 2 +- .../doctest/PyDocstringLanguageInjector.java | 6 +-- .../documentation/doctest/PyDoctestFile.kt | 41 +++++++++++++++++++ ...ngFileType.java => PyDoctestFileType.java} | 10 ++--- ...ect.java => PyDoctestLanguageDialect.java} | 8 ++-- ...ocstringLexer.java => PyDoctestLexer.java} | 2 +- ...stringParser.java => PyDoctestParser.java} | 4 +- ...on.java => PyDoctestParserDefinition.java} | 14 +++---- ...text.java => PyDoctestParsingContext.java} | 10 ++--- ...java => PyDoctestTokenSetContributor.java} | 8 ++-- ...kenTypes.java => PyDoctestTokenTypes.java} | 4 +- .../PyRestDocstringLanguageInjector.java | 8 ++-- ...ilter.java => PyDoctestVisitorFilter.java} | 4 +- .../com/jetbrains/python/PyDocstringTest.java | 4 +- .../PyFunctionTypeAnnotationParsingTest.java | 4 +- .../python/PyTypeRepresentationParsingTest.kt | 4 +- 31 files changed, 119 insertions(+), 100 deletions(-) create mode 100644 python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFile.kt rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringFileType.java => PyDoctestFileType.java} (82%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringLanguageDialect.java => PyDoctestLanguageDialect.java} (78%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringLexer.java => PyDoctestLexer.java} (97%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringParser.java => PyDoctestParser.java} (89%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringParserDefinition.java => PyDoctestParserDefinition.java} (74%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringParsingContext.java => PyDoctestParsingContext.java} (89%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringTokenSetContributor.java => PyDoctestTokenSetContributor.java} (76%) rename python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/{PyDocstringTokenTypes.java => PyDoctestTokenTypes.java} (92%) rename python/src/com/jetbrains/python/documentation/{PyDocstringVisitorFilter.java => PyDoctestVisitorFilter.java} (97%) diff --git a/python/pluginResources/intellij.python.community.impl.xml b/python/pluginResources/intellij.python.community.impl.xml index 0b9d6e9d0f52..146bc422b944 100644 --- a/python/pluginResources/intellij.python.community.impl.xml +++ b/python/pluginResources/intellij.python.community.impl.xml @@ -956,7 +956,7 @@ - + diff --git a/python/python-markdown/src/com/intellij/python/markdown/PyCodeFenceLanguageProvider.kt b/python/python-markdown/src/com/intellij/python/markdown/PyCodeFenceLanguageProvider.kt index 2993c7ad18bf..4a250ba2a96d 100644 --- a/python/python-markdown/src/com/intellij/python/markdown/PyCodeFenceLanguageProvider.kt +++ b/python/python-markdown/src/com/intellij/python/markdown/PyCodeFenceLanguageProvider.kt @@ -5,7 +5,7 @@ import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.lang.Language import com.jetbrains.python.PythonLanguage -import com.jetbrains.python.documentation.doctest.PyDocstringLanguageDialect +import com.jetbrains.python.documentation.doctest.PyDoctestLanguageDialect import org.intellij.plugins.markdown.injection.CodeFenceLanguageProvider import java.util.Locale @@ -20,7 +20,7 @@ import java.util.Locale internal class PyCodeFenceLanguageProvider : CodeFenceLanguageProvider { override fun getLanguageByInfoString(infoString: String): Language? = when (infoString.lowercase(Locale.getDefault())) { - "pycon", "python-repl" -> PyDocstringLanguageDialect.getInstance() + "pycon", "python-repl" -> PyDoctestLanguageDialect.getInstance() "py", "python3" -> PythonLanguage.INSTANCE else -> null } @@ -29,7 +29,7 @@ internal class PyCodeFenceLanguageProvider : CodeFenceLanguageProvider { return listOf( LookupElementBuilder .create("pycon") - .withIcon(PyDocstringLanguageDialect.getInstance().associatedFileType?.icon) + .withIcon(PyDoctestLanguageDialect.getInstance().associatedFileType?.icon) .withTypeText("Python console"), ) } diff --git a/python/python-psi-impl/resources/intellij.python.psi.impl.xml b/python/python-psi-impl/resources/intellij.python.psi.impl.xml index 234fa8e4039d..b0c5e1c66194 100644 --- a/python/python-psi-impl/resources/intellij.python.psi.impl.xml +++ b/python/python-psi-impl/resources/intellij.python.psi.impl.xml @@ -120,7 +120,7 @@ - + @@ -709,7 +709,7 @@ - + diff --git a/python/python-psi-impl/resources/messages/PyPsiBundle.properties b/python/python-psi-impl/resources/messages/PyPsiBundle.properties index 5a9e4069571d..4b087c0c7cae 100644 --- a/python/python-psi-impl/resources/messages/PyPsiBundle.properties +++ b/python/python-psi-impl/resources/messages/PyPsiBundle.properties @@ -535,7 +535,7 @@ ACT.qualify.with.module=Qualify with an imported module ACT.from.some.module.import=Import from… -filetype.python.docstring.description=Python docstring +filetype.python.docstring.description=Python doctest filetype.python.function.type.annotation.description=Python PEP-484 function type comment filetype.python.type.representation.description=Type representation language filetype.python.type.hint.description=Python PEP-484 type hint diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/completion/PyKeywordCompletionContributor.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/completion/PyKeywordCompletionContributor.java index c63558a5c740..b039b84b099f 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/completion/PyKeywordCompletionContributor.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/completion/PyKeywordCompletionContributor.java @@ -37,7 +37,7 @@ import com.jetbrains.python.codeInsight.controlflow.ScopeOwner; import com.jetbrains.python.codeInsight.dataflow.scope.ScopeUtil; import com.jetbrains.python.codeInsight.mlcompletion.PyCompletionMlElementInfo; import com.jetbrains.python.codeInsight.mlcompletion.PyCompletionMlElementKind; -import com.jetbrains.python.documentation.doctest.PyDocstringFile; +import com.jetbrains.python.documentation.doctest.PyDoctestFile; import com.jetbrains.python.inspections.PyLazyImportInspection; import com.jetbrains.python.psi.LanguageLevel; import com.jetbrains.python.psi.PyAnnotation; @@ -290,7 +290,7 @@ public final class PyKeywordCompletionContributor extends CompletionContributor private static final PsiElementPattern.Capture IN_STRING_LITERAL = psiElement().inside(PyStringLiteralExpression.class).andNot( - psiElement().inFile(psiFile(PyDocstringFile.class))); + psiElement().inFile(psiFile(PyDoctestFile.class))); private static final ElementPattern IN_FUNCTION_HEADER = psiElement().inside(PyFunction.class) diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/functionTypeComments/PyFunctionTypeAnnotationParser.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/functionTypeComments/PyFunctionTypeAnnotationParser.java index 4f9245e2ce24..38d52ae5c914 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/functionTypeComments/PyFunctionTypeAnnotationParser.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/functionTypeComments/PyFunctionTypeAnnotationParser.java @@ -21,7 +21,7 @@ import com.intellij.psi.tree.IElementType; import com.jetbrains.python.PyElementTypes; import com.jetbrains.python.PyParsingBundle; import com.jetbrains.python.PyTokenTypes; -import com.jetbrains.python.documentation.doctest.PyDocstringTokenTypes; +import com.jetbrains.python.documentation.doctest.PyDoctestTokenTypes; import com.jetbrains.python.parsing.ExpressionParsing; import com.jetbrains.python.parsing.ParsingContext; import com.jetbrains.python.parsing.PyParser; @@ -40,7 +40,7 @@ public class PyFunctionTypeAnnotationParser extends PyParser { private final ExpressionParsing myExpressionParsing = new ExpressionParsing(this) { @Override protected IElementType getReferenceType() { - return PyDocstringTokenTypes.DOC_REFERENCE; + return PyDoctestTokenTypes.DOC_REFERENCE; } }; diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.kt b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.kt index 8a8e19cdad90..ebe8e3aa92b7 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/imports/AddImportHelper.kt @@ -29,7 +29,7 @@ import com.jetbrains.python.codeInsight.imports.ImportLocationHelper.Companion.g import com.jetbrains.python.codeInsight.imports.PyNestedClassUtils.findTopLevelClass import com.jetbrains.python.codeInsight.imports.PyRelativeImportData.Companion.fromString import com.jetbrains.python.documentation.docstrings.DocStringUtil -import com.jetbrains.python.documentation.doctest.PyDocstringFile +import com.jetbrains.python.documentation.doctest.PyDoctestFile import com.jetbrains.python.psi.LanguageLevel import com.jetbrains.python.psi.PyClass import com.jetbrains.python.psi.PyElement @@ -546,7 +546,7 @@ object AddImportHelper { val manager = InjectedLanguageManager.getInstance(file.project) val injectionHost = manager.getInjectionHost(file) val insideDoctest = - file is PyDocstringFile && injectionHost != null && DocStringUtil.getParentDefinitionDocString(injectionHost) === injectionHost + file is PyDoctestFile && injectionHost != null && DocStringUtil.getParentDefinitionDocString(injectionHost) === injectionHost val insertParent: PsiElement if (insertBefore != null && insertBefore.parent != null) { diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateTypesIntention.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateTypesIntention.java index 0f7a58603a14..6fc45bb7e347 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateTypesIntention.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateTypesIntention.java @@ -18,7 +18,7 @@ import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; import com.jetbrains.python.PyPsiBundle; import com.jetbrains.python.PythonUiService; -import com.jetbrains.python.documentation.doctest.PyDocstringFile; +import com.jetbrains.python.documentation.doctest.PyDoctestFile; import com.jetbrains.python.psi.LanguageLevel; import com.jetbrains.python.psi.PyAnnotation; import com.jetbrains.python.psi.PyExpression; @@ -43,7 +43,7 @@ public final class PyAnnotateTypesIntention extends PyBaseIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile psiFile) { - if (!(psiFile instanceof PyFile) || psiFile instanceof PyDocstringFile) return false; + if (!(psiFile instanceof PyFile) || psiFile instanceof PyDoctestFile) return false; final PyFunction function = findSuitableFunction(editor, psiFile); if (function == null) return false; diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateVariableTypeIntention.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateVariableTypeIntention.java index cc31c2e3346b..09fddc6e5efd 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateVariableTypeIntention.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyAnnotateVariableTypeIntention.java @@ -21,7 +21,7 @@ import com.jetbrains.python.codeInsight.dataflow.scope.ScopeUtil; import com.jetbrains.python.codeInsight.intentions.PyTypeHintGenerationUtil.AnnotationInfo; import com.jetbrains.python.codeInsight.intentions.PyTypeHintGenerationUtil.Pep484IncompatibleTypeException; import com.jetbrains.python.documentation.PythonDocumentationProvider; -import com.jetbrains.python.documentation.doctest.PyDocstringFile; +import com.jetbrains.python.documentation.doctest.PyDoctestFile; import com.jetbrains.python.psi.AccessDirection; import com.jetbrains.python.psi.LanguageLevel; import com.jetbrains.python.psi.PyAssignmentStatement; @@ -74,7 +74,7 @@ public final class PyAnnotateVariableTypeIntention extends PyBaseIntentionAction @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile psiFile) { - if (!(psiFile instanceof PyFile) || psiFile instanceof PyDocstringFile) { + if (!(psiFile instanceof PyFile) || psiFile instanceof PyDoctestFile) { return false; } final List resolved = findSuitableTargetsUnderCaret(project, editor, psiFile); diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyGenerateDocstringIntention.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyGenerateDocstringIntention.java index cd47593274db..a561d5e48975 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyGenerateDocstringIntention.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/PyGenerateDocstringIntention.java @@ -16,7 +16,7 @@ import com.jetbrains.python.documentation.PyDocumentationSettings; import com.jetbrains.python.documentation.docstrings.DocStringFormat; import com.jetbrains.python.documentation.docstrings.DocStringParser; import com.jetbrains.python.documentation.docstrings.PyDocstringGenerator; -import com.jetbrains.python.documentation.doctest.PyDocstringFile; +import com.jetbrains.python.documentation.doctest.PyDoctestFile; import com.jetbrains.python.inspections.quickfix.DocstringQuickFix; import com.jetbrains.python.psi.PyDocStringOwner; import com.jetbrains.python.psi.PyFile; @@ -41,7 +41,7 @@ public final class PyGenerateDocstringIntention extends PyBaseIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile psiFile) { - if (!(psiFile instanceof PyFile) || psiFile instanceof PyDocstringFile) return false; + if (!(psiFile instanceof PyFile) || psiFile instanceof PyDoctestFile) return false; PsiElement elementAt = PyUtil.findNonWhitespaceAtOffset(psiFile, editor.getCaretModel().getOffset()); if (elementAt == null) { return false; diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/TypeIntention.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/TypeIntention.java index 1cc13051ef33..c50164861bbc 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/TypeIntention.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/intentions/TypeIntention.java @@ -11,7 +11,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.containers.ContainerUtil; -import com.jetbrains.python.documentation.doctest.PyDocstringFile; +import com.jetbrains.python.documentation.doctest.PyDoctestFile; import com.jetbrains.python.psi.PyAssignmentStatement; import com.jetbrains.python.psi.PyCallExpression; import com.jetbrains.python.psi.PyExpression; @@ -40,7 +40,7 @@ public abstract class TypeIntention extends PyBaseIntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile psiFile) { - if (!(psiFile instanceof PyFile) || psiFile instanceof PyDocstringFile) return false; + if (!(psiFile instanceof PyFile) || psiFile instanceof PyDoctestFile) return false; updateText(false); if (findOnlySuitableParameter(editor, psiFile) != null) { diff --git a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/typeHints/PyTypeHintParser.java b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/typeHints/PyTypeHintParser.java index 2482c74879fc..5215569af73b 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/codeInsight/typeHints/PyTypeHintParser.java +++ b/python/python-psi-impl/src/com/jetbrains/python/codeInsight/typeHints/PyTypeHintParser.java @@ -3,7 +3,7 @@ package com.jetbrains.python.codeInsight.typeHints; import com.intellij.lang.SyntaxTreeBuilder; import com.intellij.psi.tree.IElementType; -import com.jetbrains.python.documentation.doctest.PyDocstringTokenTypes; +import com.jetbrains.python.documentation.doctest.PyDoctestTokenTypes; import com.jetbrains.python.parsing.ExpressionParsing; import com.jetbrains.python.parsing.ParsingContext; import com.jetbrains.python.parsing.PyParser; @@ -20,14 +20,14 @@ class PyTypeHintParser extends PyParser { private final @NotNull StatementParsing myStatementParsing = new StatementParsing(this) { @Override protected @NotNull IElementType getReferenceType() { - return PyDocstringTokenTypes.DOC_REFERENCE; + return PyDoctestTokenTypes.DOC_REFERENCE; } }; private final @NotNull ExpressionParsing myExpressionParsing = new ExpressionParsing(this) { @Override protected @NotNull IElementType getReferenceType() { - return PyDocstringTokenTypes.DOC_REFERENCE; + return PyDoctestTokenTypes.DOC_REFERENCE; } }; diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringCodeBlockVisitorFilter.kt b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringCodeBlockVisitorFilter.kt index d0438d0837f6..f30cab0ac527 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringCodeBlockVisitorFilter.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringCodeBlockVisitorFilter.kt @@ -10,7 +10,7 @@ import com.jetbrains.python.psi.PythonVisitorFilter /** * Disables all inspections for plain Python code blocks injected inside docstrings - * Doctest fragments ([PyDocstringLanguageDialect]) are handled separately by `PyDocstringVisitorFilter`. + * Doctest fragments ([PyDoctestLanguageDialect]) are handled separately by `PyDocstringVisitorFilter`. */ internal class PyDocstringCodeBlockVisitorFilter : PythonVisitorFilter { override fun isSupported(visitorClass: Class, file: PsiFile): Boolean { diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringErrorFilter.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringErrorFilter.java index 442fc7652d24..cd8aef480be7 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringErrorFilter.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringErrorFilter.java @@ -34,7 +34,7 @@ public final class PyDocstringErrorFilter extends HighlightErrorFilter { @Override public boolean shouldHighlightErrorElement(@NotNull PsiErrorElement element) { final PsiFile file = element.getContainingFile(); - if (file instanceof PyDocstringFile) return false; + if (file instanceof PyDoctestFile) return false; final InjectedLanguageManager manager = InjectedLanguageManager.getInstance(file.getProject()); if (manager == null) return true; diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFile.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFile.java index 9b635ed46a89..d669013519e7 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFile.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFile.java @@ -15,36 +15,14 @@ */ package com.jetbrains.python.documentation.doctest; -import com.intellij.lang.injection.InjectedLanguageManager; -import com.intellij.openapi.fileTypes.FileType; import com.intellij.psi.FileViewProvider; -import com.intellij.psi.PsiLanguageInjectionHost; -import com.jetbrains.python.psi.LanguageLevel; -import com.jetbrains.python.psi.PyExpressionCodeFragment; -import com.jetbrains.python.psi.impl.PyFileImpl; -import org.jetbrains.annotations.NotNull; - -public class PyDocstringFile extends PyFileImpl implements PyExpressionCodeFragment { +/** + * @deprecated Use {@link PyDoctestFile} instead. + */ +@Deprecated +public class PyDocstringFile extends PyDoctestFile { public PyDocstringFile(FileViewProvider viewProvider) { - super(viewProvider, PyDocstringLanguageDialect.getInstance()); - } - - @Override - public @NotNull FileType getFileType() { - return PyDocstringFileType.INSTANCE; - } - - @Override - public String toString() { - return "DocstringFile:" + getName(); - } - - @Override - public LanguageLevel getLanguageLevel() { - final InjectedLanguageManager languageManager = InjectedLanguageManager.getInstance(getProject()); - final PsiLanguageInjectionHost host = languageManager.getInjectionHost(this); - if (host != null) return LanguageLevel.forElement(host.getContainingFile()); - return super.getLanguageLevel(); + super(viewProvider); } } \ No newline at end of file diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFormattingModelBuilder.kt b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFormattingModelBuilder.kt index 4ee7baa7dc90..96aa417c04ae 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFormattingModelBuilder.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFormattingModelBuilder.kt @@ -11,7 +11,7 @@ import com.intellij.psi.formatter.common.AbstractBlock class PyDocstringFormattingModelBuilder : CustomFormattingModelBuilder { override fun isEngagedToFormat(context: PsiElement): Boolean = - context.containingFile?.language == PyDocstringLanguageDialect.getInstance() + context.containingFile?.language == PyDoctestLanguageDialect.getInstance() override fun createModel(formattingContext: FormattingContext): FormattingModel { return DocumentBasedFormattingModel(PyDocstringBlock(formattingContext), diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java index 5024790da6aa..5d0f75bcb62a 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java @@ -85,13 +85,13 @@ public class PyDocstringLanguageInjector implements LanguageInjector { if (!trimmedString.startsWith(">>>") && !trimmedString.startsWith("...") && gotExample && start < end) { gotExample = false; if (!endsWithSlash) { - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, end), null, null); } } if (endsWithSlash && !trimmedString.endsWith("\\")) { endsWithSlash = false; - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, getEndOffset(currentPosition, string, maxPosition, closingQuote)), null, null); } @@ -125,7 +125,7 @@ public class PyDocstringLanguageInjector implements LanguageInjector { currentPosition += string.length(); } if (gotExample && start < end) { - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, end), null, null); } } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFile.kt b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFile.kt new file mode 100644 index 000000000000..12aa72769e80 --- /dev/null +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFile.kt @@ -0,0 +1,41 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.jetbrains.python.documentation.doctest + +import com.intellij.lang.injection.InjectedLanguageManager +import com.intellij.openapi.fileTypes.FileType +import com.intellij.psi.FileViewProvider +import com.jetbrains.python.psi.LanguageLevel +import com.jetbrains.python.psi.PyExpressionCodeFragment +import com.jetbrains.python.psi.impl.PyFileImpl + +open class PyDoctestFile(viewProvider: FileViewProvider?) : PyFileImpl(viewProvider, PyDoctestLanguageDialect.getInstance()), + PyExpressionCodeFragment { + override fun getFileType(): FileType { + return PyDoctestFileType.INSTANCE + } + + override fun toString(): String { + return "DoctestFile:$name" + } + + override fun getLanguageLevel(): LanguageLevel? { + val languageManager = InjectedLanguageManager.getInstance(project) + val host = languageManager.getInjectionHost(this) + if (host != null) return LanguageLevel.forElement(host.getContainingFile()) + return super.getLanguageLevel() + } +} \ No newline at end of file diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFileType.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFileType.java similarity index 82% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFileType.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFileType.java index 38a0d004a8c7..b54726127e48 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringFileType.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestFileType.java @@ -24,11 +24,11 @@ import org.jetbrains.annotations.NotNull; /** * User : ktisha */ -public class PyDocstringFileType extends PythonFileType { - public static final PythonFileType INSTANCE = new PyDocstringFileType(); +public class PyDoctestFileType extends PythonFileType { + public static final PythonFileType INSTANCE = new PyDoctestFileType(); - private PyDocstringFileType() { - super(new PyDocstringLanguageDialect()); + private PyDoctestFileType() { + super(new PyDoctestLanguageDialect()); } @Override @@ -43,6 +43,6 @@ public class PyDocstringFileType extends PythonFileType { @Override public @NotNull String getDefaultExtension() { - return "docstring"; + return "doctest"; } } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageDialect.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLanguageDialect.java similarity index 78% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageDialect.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLanguageDialect.java index 364dfb33575c..7edc94e0323f 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageDialect.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLanguageDialect.java @@ -25,13 +25,13 @@ import com.jetbrains.python.PythonLanguage; /** * User : ktisha */ -public class PyDocstringLanguageDialect extends Language implements DependentLanguage, InjectableLanguage { +public class PyDoctestLanguageDialect extends Language implements DependentLanguage, InjectableLanguage { - public static PyDocstringLanguageDialect getInstance() { - return (PyDocstringLanguageDialect)PyDocstringFileType.INSTANCE.getLanguage(); + public static PyDoctestLanguageDialect getInstance() { + return (PyDoctestLanguageDialect)PyDoctestFileType.INSTANCE.getLanguage(); } - protected PyDocstringLanguageDialect() { + protected PyDoctestLanguageDialect() { super(PythonLanguage.getInstance(), PyNames.PY_DOCSTRING_ID); putUserData(QuickEditActionKeys.EDIT_ACTION_AVAILABLE, false); } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLexer.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLexer.java similarity index 97% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLexer.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLexer.java index e9ca223c61e9..221d090eeaec 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringLexer.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestLexer.java @@ -9,7 +9,7 @@ import com.jetbrains.python.lexer.PythonIndentingLexer; /** * User : ktisha */ -public class PyDocstringLexer extends PythonIndentingLexer { +public class PyDoctestLexer extends PythonIndentingLexer { @Override public void advance() { if (super.getTokenType() == PyTokenTypes.DOT) { diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParser.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParser.java similarity index 89% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParser.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParser.java index dfe656bcabf2..aa74ee7b8035 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParser.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParser.java @@ -23,9 +23,9 @@ import com.jetbrains.python.psi.LanguageLevel; /** * User : ktisha */ -public class PyDocstringParser extends PyParser { +public class PyDoctestParser extends PyParser { @Override protected ParsingContext createParsingContext(SyntaxTreeBuilder builder, LanguageLevel languageLevel) { - return new PyDocstringParsingContext(builder, languageLevel); + return new PyDoctestParsingContext(builder, languageLevel); } } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParserDefinition.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParserDefinition.java similarity index 74% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParserDefinition.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParserDefinition.java index 39975fb46d36..dac6fa2aabc3 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParserDefinition.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParserDefinition.java @@ -14,33 +14,33 @@ import org.jetbrains.annotations.NotNull; /** * User : ktisha */ -public final class PyDocstringParserDefinition extends PythonParserDefinition { - public static final IFileElementType PYTHON_DOCSTRING_FILE = new PyDocstringFileElementType(PyDocstringLanguageDialect +public final class PyDoctestParserDefinition extends PythonParserDefinition { + public static final IFileElementType PYTHON_DOCTEST_FILE = new PyDocstringFileElementType(PyDoctestLanguageDialect .getInstance()); @Override public @NotNull Lexer createLexer(Project project) { - return new PyDocstringLexer(); + return new PyDoctestLexer(); } @Override public @NotNull PsiParser createParser(Project project) { - return new PyDocstringParser(); + return new PyDoctestParser(); } @Override public @NotNull TokenSet getWhitespaceTokens() { - return TokenSet.orSet(super.getWhitespaceTokens(), TokenSet.create(PyDocstringTokenTypes.DOTS)); + return TokenSet.orSet(super.getWhitespaceTokens(), TokenSet.create(PyDoctestTokenTypes.DOTS)); } @Override public @NotNull IFileElementType getFileNodeType() { - return PYTHON_DOCSTRING_FILE; + return PYTHON_DOCTEST_FILE; } @Override public @NotNull PsiFile createFile(@NotNull FileViewProvider viewProvider) { - return new PyDocstringFile(viewProvider); + return new PyDoctestFile(viewProvider); } } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParsingContext.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParsingContext.java similarity index 89% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParsingContext.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParsingContext.java index d11c3a6ae5c6..b5705737458d 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringParsingContext.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestParsingContext.java @@ -28,11 +28,11 @@ import org.jetbrains.annotations.NotNull; /** * User : ktisha */ -public class PyDocstringParsingContext extends ParsingContext { +public class PyDoctestParsingContext extends ParsingContext { private final StatementParsing myStatementParser; private final ExpressionParsing myExpressionParser; - public PyDocstringParsingContext(final SyntaxTreeBuilder builder, LanguageLevel languageLevel) { + public PyDoctestParsingContext(final SyntaxTreeBuilder builder, LanguageLevel languageLevel) { super(builder, languageLevel); myStatementParser = new PyDocstringStatementParsing(this); myExpressionParser = new PyDocstringExpressionParsing(this); @@ -55,7 +55,7 @@ public class PyDocstringParsingContext extends ParsingContext { @Override protected IElementType getReferenceType() { - return PyDocstringTokenTypes.DOC_REFERENCE; + return PyDoctestTokenTypes.DOC_REFERENCE; } } @@ -67,13 +67,13 @@ public class PyDocstringParsingContext extends ParsingContext { @Override protected IElementType getReferenceType() { - return PyDocstringTokenTypes.DOC_REFERENCE; + return PyDoctestTokenTypes.DOC_REFERENCE; } @Override public @NotNull IElementType filter(@NotNull IElementType source, int start, int end, @NotNull CharSequence text) { if (source == PyTokenTypes.DOT && CharArrayUtil.regionMatches(text, start, end, "...")) - return PyDocstringTokenTypes.DOTS; + return PyDoctestTokenTypes.DOTS; if (source == PyTokenTypes.GTGT && CharArrayUtil.regionMatches(text, start, end, ">>>")) return PyTokenTypes.SPACE; return super.filter(source, start, end, text); diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenSetContributor.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenSetContributor.java similarity index 76% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenSetContributor.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenSetContributor.java index e05441516f84..81d2b22ad0d7 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenSetContributor.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenSetContributor.java @@ -22,16 +22,16 @@ import org.jetbrains.annotations.NotNull; /** * User : ktisha */ -public final class PyDocstringTokenSetContributor extends PythonDialectsTokenSetContributorBase { - public static final TokenSet DOCSTRING_REFERENCE_EXPRESSIONS = TokenSet.create(PyDocstringTokenTypes.DOC_REFERENCE); +public final class PyDoctestTokenSetContributor extends PythonDialectsTokenSetContributorBase { + public static final TokenSet DOCTEST_REFERENCE_EXPRESSIONS = TokenSet.create(PyDoctestTokenTypes.DOC_REFERENCE); @Override public @NotNull TokenSet getExpressionTokens() { - return DOCSTRING_REFERENCE_EXPRESSIONS; + return DOCTEST_REFERENCE_EXPRESSIONS; } @Override public @NotNull TokenSet getReferenceExpressionTokens() { - return DOCSTRING_REFERENCE_EXPRESSIONS; + return DOCTEST_REFERENCE_EXPRESSIONS; } } diff --git a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenTypes.java b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenTypes.java similarity index 92% rename from python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenTypes.java rename to python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenTypes.java index b3dab5434da2..aee5c7542e99 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDocstringTokenTypes.java +++ b/python/python-psi-impl/src/com/jetbrains/python/documentation/doctest/PyDoctestTokenTypes.java @@ -20,10 +20,10 @@ import com.jetbrains.python.psi.PyElementType; /** * User : ktisha */ -public final class PyDocstringTokenTypes { +public final class PyDoctestTokenTypes { public static final PyElementType DOC_REFERENCE = new PyElementType("DOC_REFERENCE", node -> new PyDocReferenceExpression(node)); public static final PyElementType DOTS = new PyElementType("DOTS"); - private PyDocstringTokenTypes() { + private PyDoctestTokenTypes() { } } diff --git a/python/python-restructuredtext/src/com/intellij/restructuredtext/python/PyRestDocstringLanguageInjector.java b/python/python-restructuredtext/src/com/intellij/restructuredtext/python/PyRestDocstringLanguageInjector.java index 52a9ae43dfd4..4127cd91ff1a 100644 --- a/python/python-restructuredtext/src/com/intellij/restructuredtext/python/PyRestDocstringLanguageInjector.java +++ b/python/python-restructuredtext/src/com/intellij/restructuredtext/python/PyRestDocstringLanguageInjector.java @@ -7,7 +7,7 @@ import com.intellij.psi.InjectedLanguagePlaces; import com.intellij.psi.LanguageInjector; import com.intellij.psi.PsiLanguageInjectionHost; import com.intellij.restructuredtext.psi.RestLine; -import com.jetbrains.python.documentation.doctest.PyDocstringLanguageDialect; +import com.jetbrains.python.documentation.doctest.PyDoctestLanguageDialect; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -30,11 +30,11 @@ public final class PyRestDocstringLanguageInjector implements LanguageInjector { if (!trimmedString.startsWith(">>>") && !trimmedString.startsWith("...") && gotExample && start < end) { gotExample = false; if (!endsWithSlash) - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, end), null, null); } if (endsWithSlash) { endsWithSlash = false; - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, getEndOffset(currentPosition, string)), null, null); } @@ -57,7 +57,7 @@ public final class PyRestDocstringLanguageInjector implements LanguageInjector { currentPosition += string.length(); } if (gotExample && start < end) - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); + injectionPlacesRegistrar.addPlace(PyDoctestLanguageDialect.getInstance(), TextRange.create(start, end), null, null); } } diff --git a/python/src/com/jetbrains/python/documentation/PyDocstringVisitorFilter.java b/python/src/com/jetbrains/python/documentation/PyDoctestVisitorFilter.java similarity index 97% rename from python/src/com/jetbrains/python/documentation/PyDocstringVisitorFilter.java rename to python/src/com/jetbrains/python/documentation/PyDoctestVisitorFilter.java index bce96fe1d05c..d493f516fa13 100644 --- a/python/src/com/jetbrains/python/documentation/PyDocstringVisitorFilter.java +++ b/python/src/com/jetbrains/python/documentation/PyDoctestVisitorFilter.java @@ -29,9 +29,9 @@ import org.jetbrains.annotations.NotNull; /** * User : ktisha *

- * filter out some python inspections and annotations if we're in docstring substitution + * filter out some python inspections and annotations if we're in doctest substitution */ -public final class PyDocstringVisitorFilter implements PythonVisitorFilter { +public final class PyDoctestVisitorFilter implements PythonVisitorFilter { @Override public boolean isSupported(final @NotNull Class visitorClass, final @NotNull PsiFile file) { //inspections diff --git a/python/testSrc/com/jetbrains/python/PyDocstringTest.java b/python/testSrc/com/jetbrains/python/PyDocstringTest.java index d13080d44d96..75d71a761f60 100644 --- a/python/testSrc/com/jetbrains/python/PyDocstringTest.java +++ b/python/testSrc/com/jetbrains/python/PyDocstringTest.java @@ -22,7 +22,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiLanguageInjectionHost; import com.intellij.psi.util.PsiTreeUtil; -import com.jetbrains.python.documentation.doctest.PyDocstringParserDefinition; +import com.jetbrains.python.documentation.doctest.PyDoctestParserDefinition; import com.jetbrains.python.fixtures.PyTestCase; import java.util.List; @@ -96,7 +96,7 @@ public class PyDocstringTest extends PyTestCase { private void doTestLexer(final String text, String... expectedTokens) { - Lexer lexer = new PyDocstringParserDefinition().createLexer(myFixture.getProject()); + Lexer lexer = new PyDoctestParserDefinition().createLexer(myFixture.getProject()); lexer.start(text); int idx = 0; while (lexer.getTokenType() != null) { diff --git a/python/testSrc/com/jetbrains/python/PyFunctionTypeAnnotationParsingTest.java b/python/testSrc/com/jetbrains/python/PyFunctionTypeAnnotationParsingTest.java index ea6809f6443e..62233e62e479 100644 --- a/python/testSrc/com/jetbrains/python/PyFunctionTypeAnnotationParsingTest.java +++ b/python/testSrc/com/jetbrains/python/PyFunctionTypeAnnotationParsingTest.java @@ -7,7 +7,7 @@ import com.jetbrains.python.codeInsight.functionTypeComments.PyFunctionTypeAnnot import com.jetbrains.python.codeInsight.functionTypeComments.PyFunctionTypeAnnotationParserDefinition; import com.jetbrains.python.codeInsight.functionTypeComments.psi.PyFunctionTypeAnnotation; import com.jetbrains.python.codeInsight.functionTypeComments.psi.PyFunctionTypeAnnotationFile; -import com.jetbrains.python.documentation.doctest.PyDocstringTokenSetContributor; +import com.jetbrains.python.documentation.doctest.PyDoctestTokenSetContributor; import com.jetbrains.python.psi.PyEllipsisLiteralExpression; import com.jetbrains.python.psi.PyExpression; import com.jetbrains.python.psi.PythonVisitorFilter; @@ -32,7 +32,7 @@ public class PyFunctionTypeAnnotationParsingTest extends ParsingTestCase { getApplication().registerService(PyElementTypesFacade.class, PyElementTypesFacadeImpl.class); registerExtensionPoint(PythonDialectsTokenSetContributor.EP_NAME, PythonDialectsTokenSetContributor.class); registerExtension(PythonDialectsTokenSetContributor.EP_NAME, new PythonTokenSetContributor()); - registerExtension(PythonDialectsTokenSetContributor.EP_NAME, new PyDocstringTokenSetContributor()); + registerExtension(PythonDialectsTokenSetContributor.EP_NAME, new PyDoctestTokenSetContributor()); addExplicitExtension(LanguageASTFactory.INSTANCE, PythonLanguage.getInstance(), new PythonASTFactory()); } diff --git a/python/testSrc/com/jetbrains/python/PyTypeRepresentationParsingTest.kt b/python/testSrc/com/jetbrains/python/PyTypeRepresentationParsingTest.kt index c857a5cf331a..c1730cb442b1 100644 --- a/python/testSrc/com/jetbrains/python/PyTypeRepresentationParsingTest.kt +++ b/python/testSrc/com/jetbrains/python/PyTypeRepresentationParsingTest.kt @@ -9,7 +9,7 @@ import com.jetbrains.python.codeInsight.typeRepresentation.PyTypeRepresentationP import com.jetbrains.python.codeInsight.typeRepresentation.PyTypeRepresentationTokenSetContributor import com.jetbrains.python.codeInsight.typeRepresentation.psi.PyFunctionTypeRepresentation import com.jetbrains.python.codeInsight.typeRepresentation.psi.PyTypeRepresentationFile -import com.jetbrains.python.documentation.doctest.PyDocstringTokenSetContributor +import com.jetbrains.python.documentation.doctest.PyDoctestTokenSetContributor import com.jetbrains.python.psi.PyBinaryExpression import com.jetbrains.python.psi.PyEllipsisLiteralExpression import com.jetbrains.python.psi.PyExpression @@ -31,7 +31,7 @@ class PyTypeRepresentationParsingTest : ParsingTestCase("typeRepresentation/pars registerExtensionPoint(PythonDialectsTokenSetContributor.EP_NAME, PythonDialectsTokenSetContributor::class.java) registerExtension(PythonDialectsTokenSetContributor.EP_NAME, PythonTokenSetContributor()) - registerExtension(PythonDialectsTokenSetContributor.EP_NAME, PyDocstringTokenSetContributor()) + registerExtension(PythonDialectsTokenSetContributor.EP_NAME, PyDoctestTokenSetContributor()) registerExtension(PythonDialectsTokenSetContributor.EP_NAME, PyTypeRepresentationTokenSetContributor()) addExplicitExtension(LanguageASTFactory.INSTANCE, PythonLanguage.getInstance(), PythonASTFactory()) }