[Test] KT-61360: add tests for the IrFakeOverrideBuilder
Add tests for fake overrides with focus on java interoperability Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
30aae741a6
commit
82255d5ee8
+166
@@ -0,0 +1,166 @@
|
||||
enum class A : Enum<A>, Java1 {
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<A>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<A> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
val entries: EnumEntries<A>
|
||||
get(): EnumEntries<A> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
open enum class B : Enum<B>, Java1 {
|
||||
|
||||
FIRST = FIRST()
|
||||
private enum entry class FIRST : B {
|
||||
private constructor() /* primary */ {
|
||||
super/*B*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(i: Int) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SECOND = B()
|
||||
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<B>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<B> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
override fun foo(i: Int) {
|
||||
}
|
||||
|
||||
val entries: EnumEntries<B>
|
||||
get(): EnumEntries<B> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
enum class C : Enum<C>, Java2 {
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<C>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<C> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
val entries: EnumEntries<C>
|
||||
get(): EnumEntries<C> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
open enum class D : Enum<D>, Java2 {
|
||||
|
||||
FIRST = FIRST()
|
||||
private enum entry class FIRST : D {
|
||||
private constructor() /* primary */ {
|
||||
super/*D*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(i: Int) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<D>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<D> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
override fun foo(i: Int) {
|
||||
}
|
||||
|
||||
val entries: EnumEntries<D>
|
||||
get(): EnumEntries<D> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
enum class E : Enum<E>, Java1, Java3 {
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<E>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): E /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<E> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
val entries: EnumEntries<E>
|
||||
get(): EnumEntries<E> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
abstract enum class F : Enum<F>, Java1, Java3 {
|
||||
|
||||
FIRST = FIRST()
|
||||
private enum entry class FIRST : F {
|
||||
private constructor() /* primary */ {
|
||||
super/*F*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(i: Int?) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private constructor() /* primary */ {
|
||||
super/*Enum*/<F>()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */
|
||||
|
||||
fun values(): Array<F> /* Synthetic body for ENUM_VALUES */
|
||||
|
||||
override fun foo(i: Any) {
|
||||
}
|
||||
|
||||
val entries: EnumEntries<F>
|
||||
get(): EnumEntries<F> /* Synthetic body for ENUM_ENTRIES */
|
||||
|
||||
}
|
||||
|
||||
interface KotlinInterface {
|
||||
fun foo(i: Int) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun test() {
|
||||
B.FIRST.foo(i = 1)
|
||||
B.SECOND.foo(i = 1)
|
||||
B.FIRST.<get-ordinal>() /*~> Unit */
|
||||
D.FIRST.foo(i = 1)
|
||||
D.FIRST.<get-ordinal>() /*~> Unit */
|
||||
F.FIRST.foo(i = 1)
|
||||
F.FIRST.foo(i = "")
|
||||
F.FIRST.foo(i = null)
|
||||
F.FIRST.<get-ordinal>() /*~> Unit */
|
||||
}
|
||||
Reference in New Issue
Block a user