| class CInt32VarX<T : Any?> : CPointed { |
| constructor() /* primary */ { |
| super/*Any*/() |
| /* <init>() */ |
| |
| } |
| |
| } |
| |
| class IdType : CPointed { |
| val value: Int |
| field = value |
| get |
| |
| constructor(value: Int) /* primary */ { |
| super/*Any*/() |
| /* <init>() */ |
| |
| } |
| |
| } |
| |
| interface CPointed { |
| } |
| |
| fun foo(value: IdType, cv: CInt32VarX<Int>) { |
| cv.<set-value><Int>(value = value.<get-value>()) |
| } |
| |
| inline fun <reified T : CPointed> CPointed.reinterpret(): T { |
| return TODO() |
| } |
| |
| var <T_INT : Int> CInt32VarX<T_INT>.value: T_INT |
| get(): T_INT { |
| return TODO() |
| } |
| set(value: T_INT) { |
| } |
| |
| typealias CInt32Var = CInt32VarX<Int> |