diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java index d139b602514..a598e0388b1 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassForExplicitDeclaration.java @@ -317,8 +317,7 @@ public class KotlinLightClassForExplicitDeclaration extends AbstractLightClass i } private boolean isAbstract(@NotNull JetClassOrObject object) { - return object.hasModifier(ABSTRACT_KEYWORD) || - classOrObject instanceof JetClass && ((JetClass) classOrObject).isTrait(); + return object.hasModifier(ABSTRACT_KEYWORD) || isInterface(); } @Override @@ -357,7 +356,9 @@ public class KotlinLightClassForExplicitDeclaration extends AbstractLightClass i @Override public boolean isInterface() { - return classOrObject instanceof JetClass && ((JetClass) classOrObject).isTrait(); + if (!(classOrObject instanceof JetClass)) return false; + JetClass jetClass = (JetClass) classOrObject; + return jetClass.isTrait() || jetClass.isAnnotation(); } @Override diff --git a/compiler/tests/org/jetbrains/jet/asJava/KotlinLightClassTest.java b/compiler/tests/org/jetbrains/jet/asJava/KotlinLightClassTest.java index b0b5d79f19f..4c811a0c6b8 100644 --- a/compiler/tests/org/jetbrains/jet/asJava/KotlinLightClassTest.java +++ b/compiler/tests/org/jetbrains/jet/asJava/KotlinLightClassTest.java @@ -71,7 +71,7 @@ public abstract class KotlinLightClassTest extends KotlinAsJavaTestBase { } public void testAnnotation() { - checkModifiers("test.Annotation", PUBLIC, FINAL, ANNOTATION, INTERFACE); + checkModifiers("test.Annotation", PUBLIC, ANNOTATION, ABSTRACT, INTERFACE); } public void testEnum() {