[FIR] Introduce supertypes-for-annotation-class checker

This commit is contained in:
Julia
2021-04-01 04:36:26 +03:00
committed by Mikhail Glukhikh
parent caeb0b43be
commit 5472199bb1
15 changed files with 110 additions and 5 deletions
@@ -0,0 +1,33 @@
FILE: supertypesForAnnotationClass.kt
public abstract interface SomeInterface : R|kotlin/Any| {
}
public abstract class SomeClass : R|kotlin/Any| {
public constructor(): R|SomeClass| {
super<R|kotlin/Any|>()
}
}
public final annotation class Ann : R|SomeInterface|, R|SomeClass|, R|kotlin/Annotation| {
public constructor(): R|Ann| {
super<R|kotlin/Any|>()
}
}
public final annotation class Ann2 : R|kotlin/Annotation| {
public constructor(): R|Ann2| {
super<R|kotlin/Any|>()
}
}
public final annotation class Ann3 : R|kotlin/Annotation|, R|kotlin/Annotation| {
public constructor(): R|Ann3| {
super<R|kotlin/Any|>()
}
}
public final class MyClass : R|SomeInterface|, R|SomeClass| {
public constructor(): R|MyClass| {
super<R|SomeClass|>()
}
}
@@ -0,0 +1,11 @@
interface SomeInterface
abstract class SomeClass
annotation class Ann : <!SUPERTYPES_FOR_ANNOTATION_CLASS!>SomeInterface, SomeClass()<!>
annotation class Ann2
annotation class Ann3 : <!SUPERTYPES_FOR_ANNOTATION_CLASS!>Annotation<!>
class MyClass : SomeInterface, SomeClass()