yole
05/09/2016, 1:16 PMevanchooly
05/09/2016, 1:16 PMevanchooly
05/09/2016, 1:16 PMyole
05/09/2016, 1:17 PMevanchooly
05/09/2016, 1:17 PMdean
05/09/2016, 1:17 PMevanchooly
05/09/2016, 1:18 PMkirillrakhman
05/09/2016, 1:18 PMevanchooly
05/09/2016, 1:18 PMkirillrakhman
05/09/2016, 1:20 PMinterface Foo {
fun duStuff()
}
interface FooCompanion<T: Foo> {
fun create() : T
}
class FooX : Foo {
companion object : FooCompanion<FooX> {
override fun create() = FooX()
}
override fun duStuff() {
}
}
fun <T : Foo> FooCompanion<T>.doStuff() = create().duStuff()
dean
05/09/2016, 1:21 PMdean
05/09/2016, 1:21 PMdean
05/09/2016, 1:29 PMkirillrakhman
05/09/2016, 1:29 PMdean
05/09/2016, 1:30 PMdean
05/09/2016, 1:30 PMdean
05/09/2016, 1:35 PMdean
05/09/2016, 1:35 PMdean
05/09/2016, 1:36 PMdean
05/09/2016, 1:37 PMkirillrakhman
05/09/2016, 1:37 PMBaseChannel
?kirillrakhman
05/09/2016, 1:38 PMdean
05/09/2016, 1:38 PMkirillrakhman
05/09/2016, 1:38 PMfromJson
method?dean
05/09/2016, 1:39 PMkirillrakhman
05/09/2016, 1:39 PMBaseChannel
, right?dean
05/09/2016, 1:39 PMkirillrakhman
05/09/2016, 1:40 PMdean
05/09/2016, 1:40 PMdean
05/09/2016, 1:40 PM