diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java index 3cf90ea743a..227de09c762 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java @@ -477,12 +477,14 @@ public class JetLineMarkerProvider implements LineMarkerProvider { public boolean process(Pair pair) { ProgressManager.checkCanceled(); - PsiMethod superMethod = pair.getFirst(); + if (!(pair.getSecond() instanceof KotlinLightMethodFromTrait)) { + PsiMethod superMethod = pair.getFirst(); - T declaration = mappingToJava.get(superMethod); - if (declaration != null) { - mappingToJava.remove(superMethod); - overridden.add(declaration); + T declaration = mappingToJava.get(superMethod); + if (declaration != null) { + mappingToJava.remove(superMethod); + overridden.add(declaration); + } } return !mappingToJava.isEmpty(); diff --git a/idea/testData/codeInsight/lineMarker/NoOverridingMarkerOnDefaultTraitImpl.kt b/idea/testData/codeInsight/lineMarker/NoOverridingMarkerOnDefaultTraitImpl.kt new file mode 100644 index 00000000000..93442ce008c --- /dev/null +++ b/idea/testData/codeInsight/lineMarker/NoOverridingMarkerOnDefaultTraitImpl.kt @@ -0,0 +1,9 @@ +trait SkipSupport { + fun skip() +} + +public trait SkipSupportWithDefaults : SkipSupport { + override fun skip() {} +} + +open class SkipSupportImpl : SkipSupportWithDefaults \ No newline at end of file diff --git a/idea/testData/codeInsight/lineMarker/OverridingTooltipOnDefaultTraitImpl.kt b/idea/testData/codeInsight/lineMarker/OverridingTooltipOnDefaultTraitImpl.kt new file mode 100644 index 00000000000..cc3f7f953f6 --- /dev/null +++ b/idea/testData/codeInsight/lineMarker/OverridingTooltipOnDefaultTraitImpl.kt @@ -0,0 +1,13 @@ +trait SkipSupport { + fun skip() +} + +public trait SkipSupportWithDefaults : SkipSupport { + override fun skip() {} +} + +public trait SkipSupportImpl1 : SkipSupportWithDefaults { + override fun skip() {} +} + +open class SkipSupportImpl : SkipSupportWithDefaults \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractLineMarkersTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractLineMarkersTest.java index dee4b1a6e79..b0007e11041 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractLineMarkersTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/AbstractLineMarkersTest.java @@ -75,7 +75,7 @@ public abstract class AbstractLineMarkersTest extends JetLightCodeInsightFixture } catch (AssertionError error) { try { - String actualTextWithTestData = HighlightTestDataUtil.insertInfoTags(markers, false, myFixture.getFile().getText()); + String actualTextWithTestData = HighlightTestDataUtil.insertInfoTags(markers, true, myFixture.getFile().getText()); JetTestUtils.assertEqualsToFile(new File(getTestDataPath(), fileName()), actualTextWithTestData); } catch (FileComparisonFailure failure) { diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LineMarkersTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LineMarkersTestGenerated.java index 796ecbf2163..cadbe8835da 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LineMarkersTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LineMarkersTestGenerated.java @@ -104,6 +104,12 @@ public class LineMarkersTestGenerated extends AbstractLineMarkersTest { doTest(fileName); } + @TestMetadata("NoOverridingMarkerOnDefaultTraitImpl.kt") + public void testNoOverridingMarkerOnDefaultTraitImpl() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/NoOverridingMarkerOnDefaultTraitImpl.kt"); + doTest(fileName); + } + @TestMetadata("Overloads.kt") public void testOverloads() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/Overloads.kt"); @@ -122,6 +128,12 @@ public class LineMarkersTestGenerated extends AbstractLineMarkersTest { doTest(fileName); } + @TestMetadata("OverridingTooltipOnDefaultTraitImpl.kt") + public void testOverridingTooltipOnDefaultTraitImpl() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/OverridingTooltipOnDefaultTraitImpl.kt"); + doTest(fileName); + } + @TestMetadata("PropertyOverride.kt") public void testPropertyOverride() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/PropertyOverride.kt");