Fixed overridden/implemented line markers in abstract classes.

This commit is contained in:
Evgeny Gerashchenko
2015-03-13 20:55:42 +03:00
parent 22a41e8012
commit 5a262b976e
3 changed files with 17 additions and 1 deletions
@@ -200,7 +200,7 @@ public fun <T: JetClassOrObject> StubBasedPsiElementBase<out KotlinClassOrObject
public fun SearchScope.contains(element: PsiElement): Boolean = PsiSearchScopeUtil.isInScope(this, element)
public fun JetClass.isInheritable(): Boolean {
return isTrait() || hasModifier(JetTokens.OPEN_KEYWORD)
return isTrait() || hasModifier(JetTokens.OPEN_KEYWORD) || hasModifier(JetTokens.ABSTRACT_KEYWORD)
}
public fun JetDeclaration.isOverridable(): Boolean {
@@ -0,0 +1,10 @@
abstract class <lineMarker></lineMarker>A {
open fun <lineMarker></lineMarker>a(){
}
}
open class B : A(){
override fun <lineMarker></lineMarker>a(){
}
}
@@ -132,6 +132,12 @@ public class LineMarkersTestGenerated extends AbstractLineMarkersTest {
doTest(fileName);
}
@TestMetadata("OverrideMemberOfAbstractClass.kt")
public void testOverrideMemberOfAbstractClass() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/OverrideMemberOfAbstractClass.kt");
doTest(fileName);
}
@TestMetadata("OverridenTraitDeclarations.kt")
public void testOverridenTraitDeclarations() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/OverridenTraitDeclarations.kt");