| class Class { |
| val prop_1 = 1 |
| val prop_2 = 2 |
| val prop_3 = 3 |
| val prop_4: Float? = 3f |
| val prop_5: Float = 3f |
| val prop_6: String = "..." |
| val prop_7: Nothing? = null |
| val prop_8: Class? = null |
| var prop_9: Boolean = true |
| val prop_10: Number? = 3f |
| val prop_11: Int = 10 |
| var prop_12: String = "" |
| val prop_13: Any? = "" |
| val prop_14: Comparable<*>? = null |
| val prop_15: Iterable<*>? = null |
| |
| fun fun_1(): (Int) -> (Int) -> Int = {number: Int -> { number * 5 }} |
| fun fun_2(value_1: Int): Int = value_1 * 2 |
| fun fun_3(value_1: Int): (Int) -> Int = fun(value_2: Int): Int = value_1 * value_2 * 2 |
| fun fun_4(): Class? = Class() |
| |
| operator fun get(i1: Int, i2: Int) = 10 |
| operator fun set(i1: Int, i2: Int, el: Int) {} |
| operator fun get(i1: Int) = 10 |
| operator fun set(i1: Int, el: Int) {} |
| operator fun invoke() {} |
| operator fun invoke(x: Any) = { x: Any -> x } |
| operator fun invoke(x: Any, y: Any) {} |
| operator fun contains(a: Int) = a > 30 |
| operator fun contains(a: Long) = a > 30L |
| operator fun contains(a: Char) = a > 30.toChar() |
| |
| fun getIntArray() = intArrayOf(1, 2, 3, 4, 5) |
| fun getLongArray() = longArrayOf(1L, 2L, 3L, 4L, 5L) |
| fun getCharArray() = charArrayOf(1.toChar(), 2.toChar(), 3.toChar(), 4.toChar(), 5.toChar()) |
| |
| class NestedClass { |
| val prop_4 = 4 |
| val prop_5 = 5 |
| } |
| } |
| |
| operator fun Class?.inc(): Class? = null |
| operator fun Class?.dec(): Class? = null |
| operator fun Class?.plus(x: Class?): Class? = null |
| operator fun Class?.minus(x: Class?): Class? = null |
| |
| open class ClassWithCustomEquals { |
| override fun equals(other: Any?) = true |
| } |
| |
| open class ClassWithCostructorParam(val x: Any) |
| open class ClassWithCostructorTwoParams(val x: Any, val y: Any) |
| |
| class EmptyClass {} |
| |
| class ClassWithCompanionObject { |
| companion object {} |
| } |
| |
| open class ClassLevel1 { |
| fun test1() {} |
| } |
| open class ClassLevel2: ClassLevel1() { |
| fun test2() {} |
| } |
| open class ClassLevel21: ClassLevel1() { |
| fun test21() {} |
| } |
| open class ClassLevel22: ClassLevel1() { |
| fun test22() {} |
| } |
| open class ClassLevel23: ClassLevel1() { |
| fun test23() {} |
| } |
| open class ClassLevel3: ClassLevel2() { |
| fun test3() {} |
| } |
| open class ClassLevel4: ClassLevel3() { |
| fun test4() {} |
| } |
| open class ClassLevel5: ClassLevel4() { |
| fun test5() {} |
| } |
| class ClassLevel6: ClassLevel5() { |
| fun test6() {} |
| } |
| |
| class Inv<T>(val x: T = null as T) { |
| val prop_1: Inv<T>? = null |
| val prop_2: T? = null |
| val prop_3: T = null as T |
| val prop_4 = 10 |
| |
| fun test() {} |
| fun get() = x |
| fun put(x: T) {} |
| fun getNullable(): T? = if (true) x else null |
| } |
| |
| class In<in T>() { |
| fun put(x: T) {} |
| fun <K : T> getWithUpperBoundT(x: T): K = x as K |
| } |
| |
| class Out<out T>(val x: T = null as T) { |
| val prop_1: Inv<out T>? = null |
| val prop_2: T? = null |
| |
| fun get() = x |
| } |
| |
| open class ClassWithTwoTypeParameters<K, L> { |
| fun test1(): L? { return null } |
| fun test2(): K? { return null } |
| } |
| |
| open class ClassWithThreeTypeParameters<K, L, M>( |
| val x: K, |
| val y: L, |
| val z: M |
| ) |
| |
| open class ClassWithSixTypeParameters<K, in L, out M, O, in P, out R>( |
| val u: R, |
| val x: K, |
| val y: M, |
| val z: O |
| ) { |
| fun test() = 10 |
| } |