diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java
index a6e84447bdf..25577f783f3 100644
--- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java
+++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetLineMarkerProvider.java
@@ -34,6 +34,7 @@ import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.ui.popup.JBPopup;
import com.intellij.openapi.ui.popup.JBPopupFactory;
import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
@@ -255,15 +256,12 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
builder.append(DescriptorRenderer.HTML.render(descriptor));
int overrideCount = overriddenMembers.size();
if (overrideCount >= 1) {
- builder.append("\n").append(implementsOrOverrides).append("\n");
+ builder.append("
").append(implementsOrOverrides).append("
");
builder.append(DescriptorRenderer.HTML.render(overriddenMembers.iterator().next()));
}
if (overrideCount > 1) {
- int count = overrideCount - 1;
- builder.append("\nand ").append(count).append(" other ").append(memberKind);
- if (count > 1) {
- builder.append("s");
- }
+ int otherCount = overrideCount - 1;
+ builder.append("
and ").append(otherCount).append(" other ").append(StringUtil.pluralize(memberKind, otherCount));
}
return builder.toString();
@@ -318,6 +316,7 @@ public class JetLineMarkerProvider implements LineMarkerProvider {
// Not all open or abstract declarations are actually overridable, but this is heuristic
return declaration.hasModifier(JetTokens.ABSTRACT_KEYWORD) ||
declaration.hasModifier(JetTokens.OPEN_KEYWORD) ||
+ declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD) ||
((JetClass) parent.getParent()).isTrait();
}
diff --git a/idea/testData/codeInsight/lineMarker/OverrideFunction.kt b/idea/testData/codeInsight/lineMarker/OverrideFunction.kt
new file mode 100644
index 00000000000..ee4a54cac32
--- /dev/null
+++ b/idea/testData/codeInsight/lineMarker/OverrideFunction.kt
@@ -0,0 +1,16 @@
+open class A {
+ open fun a(){
+ }
+}
+
+open class B:A(){
+ override fun a(){
+ }
+}
+
+class C:B(){
+ override fun a(){
+ }
+}
\ No newline at end of file
diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementLineMarkerTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementLineMarkerTest.java
index 2b52ed5f21d..1d5c0fe2bde 100644
--- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementLineMarkerTest.java
+++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/OverrideImplementLineMarkerTest.java
@@ -42,6 +42,10 @@ public class OverrideImplementLineMarkerTest extends LightCodeInsightFixtureTest
doTest();
}
+ public void testOverrideFunction() throws Throwable {
+ doTest();
+ }
+
private void doTest() {
try {
myFixture.configureByFile(getTestName(false) + ".kt");