56 lines
895 B
Plaintext
Vendored
56 lines
895 B
Plaintext
Vendored
class A<T : Any?> {
|
|
constructor(a: T) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val a: T
|
|
field = a
|
|
get
|
|
|
|
}
|
|
|
|
class B {
|
|
constructor(b: Any) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val b: Any
|
|
field = b
|
|
get
|
|
|
|
}
|
|
|
|
class C {
|
|
constructor(c: Any) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
val c: Any
|
|
field = c
|
|
get
|
|
|
|
}
|
|
|
|
fun f(<this>: A<Int>, <this>: A<String>, <this>: B) {
|
|
<this>.<get-a>().toFloat() /*~> Unit */
|
|
<this>.<get-a>().<get-length>() /*~> Unit */
|
|
<this>.<get-b>() /*~> Unit */
|
|
}
|
|
|
|
val C.p: Int
|
|
get(<this>: A<Int>, <this>: A<String>, <this>: B): Int {
|
|
<this>.<get-a>().toFloat() /*~> Unit */
|
|
<this>.<get-a>().<get-length>() /*~> Unit */
|
|
<this>.<get-b>() /*~> Unit */
|
|
<this>.<get-c>() /*~> Unit */
|
|
<this>.<get-c>() /*~> Unit */
|
|
<this>.<get-c>() /*~> Unit */
|
|
return 1
|
|
}
|