Files
kotlin/compiler/testData/codegen/box/reflection/parameters/isOptional.kt
2016-11-09 21:41:12 +03:00

30 lines
647 B
Kotlin
Vendored

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// WITH_REFLECT
import kotlin.test.*
open class A {
open fun foo(x: Int, y: Int = 1) {}
}
class B : A() {
override fun foo(x: Int, y: Int) {}
}
class C : A()
fun Int.extFun() {}
fun box(): String {
assertEquals(listOf(false, false, true), A::foo.parameters.map { it.isOptional })
assertEquals(listOf(false, false, true), B::foo.parameters.map { it.isOptional })
assertEquals(listOf(false, false, true), C::foo.parameters.map { it.isOptional })
assertFalse(Int::extFun.parameters.single().isOptional)
return "OK"
}