Annotations are also interfaces
This commit is contained in:
+4
-3
@@ -317,8 +317,7 @@ public class KotlinLightClassForExplicitDeclaration extends AbstractLightClass i
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isAbstract(@NotNull JetClassOrObject object) {
|
private boolean isAbstract(@NotNull JetClassOrObject object) {
|
||||||
return object.hasModifier(ABSTRACT_KEYWORD) ||
|
return object.hasModifier(ABSTRACT_KEYWORD) || isInterface();
|
||||||
classOrObject instanceof JetClass && ((JetClass) classOrObject).isTrait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -357,7 +356,9 @@ public class KotlinLightClassForExplicitDeclaration extends AbstractLightClass i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isInterface() {
|
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
|
@Override
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public abstract class KotlinLightClassTest extends KotlinAsJavaTestBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testAnnotation() {
|
public void testAnnotation() {
|
||||||
checkModifiers("test.Annotation", PUBLIC, FINAL, ANNOTATION, INTERFACE);
|
checkModifiers("test.Annotation", PUBLIC, ANNOTATION, ABSTRACT, INTERFACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testEnum() {
|
public void testEnum() {
|
||||||
|
|||||||
Reference in New Issue
Block a user