34 lines
848 B
Kotlin
Vendored
34 lines
848 B
Kotlin
Vendored
import java.lang.Thread
|
|
import java.lang.Runnable
|
|
|
|
import java.util.concurrent.Callable
|
|
import java.util.function.Supplier
|
|
|
|
val notSam = { /* Not SAM */ }
|
|
var foo: java.lang.Runnable = {/* Variable */}
|
|
fun bar(): java.lang.Runnable {
|
|
foo = {/* Assignment */}
|
|
val a = {/* Type Cast */} as java.lang.Runnable
|
|
runRunnable {/* Argument */}
|
|
return {/* Return */}
|
|
}
|
|
|
|
val baz = java.lang.Runnable { /* SAM */ }
|
|
|
|
fun runRunnable(r: java.lang.Runnable) = r()
|
|
|
|
fun test1() {
|
|
val thread1 = Thread({ println("hello1") })
|
|
}
|
|
|
|
fun test2() {
|
|
val thread2 = Thread(Runnable { println("hello2") })
|
|
}
|
|
|
|
fun test3() {
|
|
ambiguousSamAcceptor(Supplier { "Supplier" })
|
|
ambiguousSamAcceptor(Callable { "Callable" })
|
|
}
|
|
|
|
fun ambiguousSamAcceptor(s: Supplier<String>): String = TODO()
|
|
fun ambiguousSamAcceptor(s: Callable<String>): String = TODO() |