diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt index aa2fb0f19d0..6d5be92d43e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt @@ -101,6 +101,7 @@ private val OVERRIDDEN_MARK: Icon = AllIcons.Gutter.OverridenMethod private val IMPLEMENTED_MARK: Icon = AllIcons.Gutter.ImplementedMethod private val SUBCLASSED_CLASS = MarkerType( + "SUBCLASSED_CLASS", { getPsiClass(it)?.let { MarkerType.getSubclassedClassTooltip(it) } }, object : LineMarkerNavigator() { override fun browse(e: MouseEvent?, element: PsiElement?) { @@ -109,7 +110,8 @@ private val SUBCLASSED_CLASS = MarkerType( }) private val OVERRIDDEN_FUNCTION = MarkerType( - { getPsiMethod(it)?.let { getOverriddenMethodTooltip(it) } }, + "OVERRIDDEN_FUNCTION", + { getPsiMethod(it)?.let(::getOverriddenMethodTooltip) }, object : LineMarkerNavigator() { override fun browse(e: MouseEvent?, element: PsiElement?) { getPsiMethod(element)?.let { navigateToOverriddenMethod(e, it) } @@ -117,6 +119,7 @@ private val OVERRIDDEN_FUNCTION = MarkerType( }) private val OVERRIDDEN_PROPERTY = MarkerType( + "OVERRIDDEN_PROPERTY", { it?.let { getOverriddenPropertyTooltip(it.parent as KtNamedDeclaration) } }, object : LineMarkerNavigator() { override fun browse(e: MouseEvent?, element: PsiElement?) { @@ -158,18 +161,20 @@ private fun collectSuperDeclarationMarkers(declaration: KtDeclaration, result: M val implements = isImplementsAndNotOverrides(resolveWithParents.descriptor!!, resolveWithParents.overriddenDescriptors) + val anchor = (declaration as? KtNamedDeclaration)?.nameIdentifier ?: declaration + // NOTE: Don't store descriptors in line markers because line markers are not deleted while editing other files and this can prevent // clearing the whole BindingTrace. - val marker = LineMarkerInfo( - declaration, - declaration.textOffset, - if (implements) IMPLEMENTING_MARK else OVERRIDING_MARK, - Pass.UPDATE_OVERRIDEN_MARKERS, - SuperDeclarationMarkerTooltip, - SuperDeclarationMarkerNavigationHandler() - ) - result.add(marker) + result.add(LineMarkerInfo( + declaration, + anchor.textRange, + if (implements) IMPLEMENTING_MARK else OVERRIDING_MARK, + Pass.UPDATE_OVERRIDDEN_MARKERS, + SuperDeclarationMarkerTooltip, + SuperDeclarationMarkerNavigationHandler(), + GutterIconRenderer.Alignment.RIGHT + )) } private fun collectInheritedClassMarker(element: KtClass, result: MutableCollection>) { @@ -186,11 +191,12 @@ private fun collectInheritedClassMarker(element: KtClass, result: MutableCollect result.add(LineMarkerInfo( anchor, - anchor.textOffset, + anchor.textRange, if (isTrait) IMPLEMENTED_MARK else OVERRIDDEN_MARK, - Pass.UPDATE_OVERRIDEN_MARKERS, + Pass.UPDATE_OVERRIDDEN_MARKERS, SUBCLASSED_CLASS.tooltip, - SUBCLASSED_CLASS.navigationHandler + SUBCLASSED_CLASS.navigationHandler, + GutterIconRenderer.Alignment.RIGHT )) } @@ -216,9 +222,9 @@ private fun collectOverriddenPropertyAccessors(properties: Collection, r result.add(LineMarkerInfo( anchor, - anchor.textOffset, + anchor.textRange, if (isImplemented(function)) IMPLEMENTED_MARK else OVERRIDDEN_MARK, - Pass.UPDATE_OVERRIDEN_MARKERS, OVERRIDDEN_FUNCTION.tooltip, + Pass.UPDATE_OVERRIDDEN_MARKERS, OVERRIDDEN_FUNCTION.tooltip, OVERRIDDEN_FUNCTION.navigationHandler, GutterIconRenderer.Alignment.RIGHT )) diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/BadCodeNoExceptions.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/BadCodeNoExceptions.kt index 0ae6dea53a6..92ff915a56f 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/BadCodeNoExceptions.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/BadCodeNoExceptions.kt @@ -1,10 +1,10 @@ -interface Hi { - fun foo(): Int +interface Hi { + fun foo(): Int } // Closing brace is intentionally missed val id = array("kotlin.FlexibleType" private class Some(): Hi { - override fun foo() = 1 + override fun foo() = 1 } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/Class.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/Class.kt index e1c9fa06162..aaf9dfb7ba2 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/Class.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/Class.kt @@ -1,9 +1,9 @@ -open class A { - open fun a(){ +open class A { + open fun a(){ } } class B:A(){ - override fun a(){ + override fun a(){ } } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/ClassObjectInStaticNestedClass.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/ClassObjectInStaticNestedClass.kt index 89197e9c394..503598fd1c9 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/ClassObjectInStaticNestedClass.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/ClassObjectInStaticNestedClass.kt @@ -1,11 +1,11 @@ -interface TestTrait { - fun test() +interface TestTrait { + fun test() } class A { class B { companion object : TestTrait { // TODO: No line marker - override fun test() { + override fun test() { } } } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedFun.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedFun.kt index 09aac6ea6cf..0c46cffe410 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedFun.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedFun.kt @@ -1,13 +1,13 @@ -interface A { - fun f() { +interface A { + fun f() { } } -interface B : A +interface B : A -open class C(b : B) : B by b, A { +open class C(b : B) : B by b, A { } class D(b : B) : C(b) { - override fun f() {} + override fun f() {} } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedProperty.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedProperty.kt index f759845a674..567046d11c8 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedProperty.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/DelegatedProperty.kt @@ -1,13 +1,13 @@ -interface A { - val f: Int +interface A { + val f: Int get() = 3 } -interface B : A +interface B : A -open class C(b : B) : B by b, A { +open class C(b : B) : B by b, A { } class D(b : B) : C(b) { - override val f: Int = 2 + override val f: Int = 2 } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/EnumEntry.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/EnumEntry.kt index 91485d5f6d9..9202ab103dd 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/EnumEntry.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/EnumEntry.kt @@ -1,7 +1,7 @@ enum class SampleEnum { V1 { - override fun any() { super.any() } + override fun any() { super.any() } }; - open fun any() {} + open fun any() {} } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideForClasses.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideForClasses.kt index 4b4b332b1ac..522b7c93007 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideForClasses.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideForClasses.kt @@ -1,25 +1,25 @@ package sample -interface S { - fun foo(t: T): T +interface S { + fun foo(t: T): T - val some: T? get + val some: T? get - var other: T? + var other: T? get set } -open abstract class S1 : S +open abstract class S1 : S class S2 : S1() { - override val some: String = "S" + override val some: String = "S" - override var other: String? + override var other: String? get() = null set(value) {} - override fun foo(t: String): String { + override fun foo(t: String): String { return super.foo(t) } } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFun.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFun.kt index 2cd3c436209..f102ea18080 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFun.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFun.kt @@ -1,11 +1,11 @@ -interface A { - fun f() {} +interface A { + fun f() {} } -interface B : A +interface B : A -interface C : B, A +interface C : B, A class SomeClass() : C { - override fun f() {} + override fun f() {} } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFunWithMostRelevantImplementation.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFunWithMostRelevantImplementation.kt index 0d071af3208..22530b135ab 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFunWithMostRelevantImplementation.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFunWithMostRelevantImplementation.kt @@ -1,13 +1,13 @@ -interface A { - fun f() {} +interface A { + fun f() {} } -interface B : A { - override fun f() {} +interface B : A { + override fun f() {} } -interface C : B, A +interface C : B, A class SomeClass() : C { - override fun f() {} + override fun f() {} } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideProperty.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideProperty.kt index e03c44a012d..4730271e4e4 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideProperty.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideProperty.kt @@ -1,12 +1,12 @@ -interface A { - val f: Int +interface A { + val f: Int get() = 2 } -interface B : A +interface B : A -interface C : B, A +interface C : B, A class SomeClass() : C { - override val f: Int = 4 + override val f: Int = 4 } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideToStringInTrait.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideToStringInTrait.kt index 5ad1f9ad91d..38caac214df 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideToStringInTrait.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverrideToStringInTrait.kt @@ -1,9 +1,9 @@ -interface A { - override fun toString() = "A" +interface A { + override fun toString() = "A" } -abstract class B: A +abstract class B : A -class C: B() { - override fun toString() = "B" +class C : B() { + override fun toString() = "B" } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverridesForTraitFunWithImpl.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverridesForTraitFunWithImpl.kt index 1b71bae5fab..cb48b5d7041 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverridesForTraitFunWithImpl.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/FakeOverridesForTraitFunWithImpl.kt @@ -1,25 +1,25 @@ -interface A { - fun foo(): String = "A" +interface A { + fun foo(): String = "A" // TODO: B shoudn't be mentioned - val some: String? get() = null + val some: String? get() = null // TODO: B shoudn't be mentioned - var other: String? + var other: String? get() = null set(value) {} } -open class B: A +open class B : A class C: B() { - override val some: String = "S" + override val some: String = "S" - override var other: String? + override var other: String? get() = null set(value) {} - override fun foo(): String { + override fun foo(): String { return super.foo() } } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/NavigateToSeveralSuperElements.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/NavigateToSeveralSuperElements.kt index 435f4c83e50..2343ffb298b 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/NavigateToSeveralSuperElements.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/NavigateToSeveralSuperElements.kt @@ -1,13 +1,13 @@ -interface A1 { - fun foo() +interface A1 { + fun foo() } -interface B1 { - fun foo() +interface B1 { + fun foo() } class C1: A1, B1 { - override fun foo() {} + override fun foo() {} } /* diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/NoOverridingMarkerOnDefaultTraitImpl.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/NoOverridingMarkerOnDefaultTraitImpl.kt index c3e9dd307c7..73a42d37ee8 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/NoOverridingMarkerOnDefaultTraitImpl.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/NoOverridingMarkerOnDefaultTraitImpl.kt @@ -1,9 +1,9 @@ -interface SkipSupport { - fun skip() +interface SkipSupport { + fun skip() } -public interface SkipSupportWithDefaults : SkipSupport { - override fun skip() {} +public interface SkipSupportWithDefaults : SkipSupport { + override fun skip() {} } open class SkipSupportImpl : SkipSupportWithDefaults \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/Overloads.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/Overloads.kt index 25c02020c98..8d0b4737c68 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/Overloads.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/Overloads.kt @@ -1,9 +1,9 @@ -interface A { - fun foo(str: String) - fun foo() +interface A { + fun foo(str: String) + fun foo() } open class B : A { - override fun foo(str: String) { } - override fun foo() { } + override fun foo(str: String) { } + override fun foo() { } } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideFunction.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideFunction.kt index d84ac546b7d..4757315012a 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideFunction.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideFunction.kt @@ -1,14 +1,14 @@ -open class A { - open fun a(){ +open class A { + open fun a(){ } } -open class B:A(){ - override fun a(){ +open class B : A(){ + override fun a(){ } } -class C:B(){ - override fun a(){ +class C : B(){ + override fun a(){ } } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideIconForOverloadMethodBug.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideIconForOverloadMethodBug.kt index 49df74d5fbd..a5f80817c1e 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideIconForOverloadMethodBug.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideIconForOverloadMethodBug.kt @@ -1,19 +1,19 @@ -interface SkipSupport { - fun skip(why: String) - fun skip() +interface SkipSupport { + fun skip(why: String) + fun skip() } -public interface SkipSupportWithDefaults : SkipSupport { +public interface SkipSupportWithDefaults : SkipSupport { // TODO: should be "Is overriden in SkipSupportImpl" - override fun skip(why: String) {} + override fun skip(why: String) {} - override fun skip() { + override fun skip() { skip("not given") } } open class SkipSupportImpl: SkipSupportWithDefaults { - override fun skip(why: String) = throw RuntimeException(why) + override fun skip(why: String) = throw RuntimeException(why) } // KT-4428 Incorrect override icon shown for overloaded methods \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideMemberOfAbstractClass.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideMemberOfAbstractClass.kt index 25da4059776..b4e77305a10 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideMemberOfAbstractClass.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/OverrideMemberOfAbstractClass.kt @@ -1,10 +1,10 @@ -abstract class A { - open fun a(){ +abstract class A { + open fun a(){ } } open class B : A(){ - override fun a(){ + override fun a(){ } } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/OverridenTraitDeclarations.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/OverridenTraitDeclarations.kt index 86f94cbedc8..925e5219f8b 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/OverridenTraitDeclarations.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/OverridenTraitDeclarations.kt @@ -1,15 +1,15 @@ // TODO: Declarations have no implementation and should be considered as "overloaded" -interface First { - val some: Int - var other: String +interface First { + val some: Int + var other: String get set - fun foo() + fun foo() } interface Second : First { - override val some: Int - override var other: String - override fun foo() + override val some: Int + override var other: String + override fun foo() } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/OverridingTooltipOnDefaultTraitImpl.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/OverridingTooltipOnDefaultTraitImpl.kt index 43a55a128eb..e50b324e27e 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/OverridingTooltipOnDefaultTraitImpl.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/OverridingTooltipOnDefaultTraitImpl.kt @@ -1,13 +1,13 @@ -interface SkipSupport { - fun skip() +interface SkipSupport { + fun skip() } -public interface SkipSupportWithDefaults : SkipSupport { - override fun skip() {} +public interface SkipSupportWithDefaults : SkipSupport { + override fun skip() {} } public interface SkipSupportImpl1 : SkipSupportWithDefaults { - override fun skip() {} + override fun skip() {} } open class SkipSupportImpl : SkipSupportWithDefaults \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOpen.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOpen.kt index dd36a88e504..e1410559e6f 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOpen.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOpen.kt @@ -1,10 +1,10 @@ -open class C( - open val s: String +open class C( + open val s: String ) { } class D : C("") { - override val s: String get() = "q" + override val s: String get() = "q" } diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOverride.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOverride.kt index 15328a8fe08..aee88ffac7d 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOverride.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOverride.kt @@ -1,7 +1,7 @@ -interface I { - val name: String +interface I { + val name: String } class D( - override val name: String + override val name: String ): I diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/PropertyOverride.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/PropertyOverride.kt index 1c3507c2823..493bace3d5e 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/PropertyOverride.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/PropertyOverride.kt @@ -1,7 +1,7 @@ -open class Base { - open var writable: Int = 12 +open class Base { + open var writable: Int = 12 } class SubBase: Base() { - override var writable: Int = 42 + override var writable: Int = 42 } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/ToStringInTrait.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/ToStringInTrait.kt index 55b6f1c7f09..fec59cdae27 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/ToStringInTrait.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/ToStringInTrait.kt @@ -1,5 +1,5 @@ public interface Foo { - override fun toString() = "str" + override fun toString() = "str" } /* diff --git a/idea/testData/codeInsight/lineMarker/overrideImplement/Trait.kt b/idea/testData/codeInsight/lineMarker/overrideImplement/Trait.kt index 2c9cfe8ac72..0682e10d497 100644 --- a/idea/testData/codeInsight/lineMarker/overrideImplement/Trait.kt +++ b/idea/testData/codeInsight/lineMarker/overrideImplement/Trait.kt @@ -1,9 +1,9 @@ -interface A { - fun a(){ +interface A { + fun a(){ } } -class B :A { - override fun a(){ +class B : A { + override fun a(){ } } \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/recursiveCall/conventionCall.kt b/idea/testData/codeInsight/lineMarker/recursiveCall/conventionCall.kt index 282f2b8b30d..573b62766e8 100644 --- a/idea/testData/codeInsight/lineMarker/recursiveCall/conventionCall.kt +++ b/idea/testData/codeInsight/lineMarker/recursiveCall/conventionCall.kt @@ -5,7 +5,7 @@ operator fun Any.get(a: Int) { } class A { - override fun equals(other: Any?): Boolean { + override fun equals(other: Any?): Boolean { this == other return true } diff --git a/idea/testData/codeInsight/lineMarker/recursiveCall/superQualifier.kt b/idea/testData/codeInsight/lineMarker/recursiveCall/superQualifier.kt index 270aba1104f..c6659a075d1 100644 --- a/idea/testData/codeInsight/lineMarker/recursiveCall/superQualifier.kt +++ b/idea/testData/codeInsight/lineMarker/recursiveCall/superQualifier.kt @@ -1,10 +1,10 @@ -open class Super { - open fun f(a: Int) { +open class Super { + open fun f(a: Int) { } } class F: Super() { - override fun f(a: Int) { + override fun f(a: Int) { if (a > 0) { super.f(a - 1) } diff --git a/idea/testData/codeInsight/lineMarker/runMarkers/jUnitTestClassWithSubclasses.kt b/idea/testData/codeInsight/lineMarker/runMarkers/jUnitTestClassWithSubclasses.kt index 0f9da35e984..5245b84fe1c 100644 --- a/idea/testData/codeInsight/lineMarker/runMarkers/jUnitTestClassWithSubclasses.kt +++ b/idea/testData/codeInsight/lineMarker/runMarkers/jUnitTestClassWithSubclasses.kt @@ -4,7 +4,7 @@ package testing import junit.framework.TestCase import org.junit.Test -abstract class KBase : TestCase() { +abstract class KBase : TestCase() { @Test fun testFoo() { diff --git a/idea/testData/codeInsight/lineMarker/runMarkers/testNGTestClassWithSubclasses.kt b/idea/testData/codeInsight/lineMarker/runMarkers/testNGTestClassWithSubclasses.kt index 1cb1a4f4b70..bed828669c0 100644 --- a/idea/testData/codeInsight/lineMarker/runMarkers/testNGTestClassWithSubclasses.kt +++ b/idea/testData/codeInsight/lineMarker/runMarkers/testNGTestClassWithSubclasses.kt @@ -3,7 +3,7 @@ package testing import org.testng.annotations.Test -abstract class KBase { +abstract class KBase { @Test fun testFoo() {