diff --git a/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java b/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java index 6cb459ad4ff89..4c88fd6ec0d6c 100644 --- a/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java +++ b/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java @@ -164,7 +164,16 @@ private static void write(@NotNull PyClass pyClass, @NotNull Listrete(Abstract): diff --git a/python/testData/inspections/ImplementAbstractNestedIndentation_after.py b/python/testData/inspections/ImplementAbstractNestedIndentation_after.py new file mode 100644 index 0000000000000..d4e9102d1ff20 --- /dev/null +++ b/python/testData/inspections/ImplementAbstractNestedIndentation_after.py @@ -0,0 +1,13 @@ +import abc + + +class Abstract(abc.ABC): + @abc.abstractmethod + async def run(self): + pass + + +def test_class(): + class Concrete(Abstract): + async def run(self): + pass diff --git a/python/testData/inspections/ImplementAbstractOrder.py b/python/testData/inspections/ImplementAbstractOrder.py index e784d21e52d23..4b32a8ebee6d7 100644 --- a/python/testData/inspections/ImplementAbstractOrder.py +++ b/python/testData/inspections/ImplementAbstractOrder.py @@ -12,6 +12,10 @@ def foo0(self): def foo1(self): pass + @abstractmethod + def foo2(self): + pass + def bar(self): pass diff --git a/python/testData/inspections/ImplementAbstractOrder_after.py b/python/testData/inspections/ImplementAbstractOrder_after.py index 00db476eb27ed..a5dc7de8ed4e8 100644 --- a/python/testData/inspections/ImplementAbstractOrder_after.py +++ b/python/testData/inspections/ImplementAbstractOrder_after.py @@ -12,6 +12,10 @@ def foo0(self): def foo1(self): pass + @abstractmethod + def foo2(self): + pass + def bar(self): pass @@ -23,3 +27,5 @@ def foo0(self): def foo1(self): pass + def foo2(self): + pass \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PyQuickFixTest.kt b/python/testSrc/com/jetbrains/python/PyQuickFixTest.kt index cdc959671aa1a..940981644a20a 100644 --- a/python/testSrc/com/jetbrains/python/PyQuickFixTest.kt +++ b/python/testSrc/com/jetbrains/python/PyQuickFixTest.kt @@ -1177,6 +1177,18 @@ class PyQuickFixTest : PyTestCase() { ) } + fun testImplementAbstractNestedIndentation() { + runWithLanguageLevel(LanguageLevel.PYTHON37) { + doInspectionTest( + "ImplementAbstractNestedIndentation.py", + PyAbstractClassInspection::class.java, + PyBundle.message("QFIX.NAME.implement.methods"), + true, + true + ) + } + } + fun testRemovingUnderscoresInNumericLiterals() { myFixture.configureByText(PythonFileType.INSTANCE, "1_0_0")