Support KParameter.isOptional

#KT-8825 Fixed
This commit is contained in:
Alexander Udalov
2015-08-20 16:47:48 -07:00
parent fd97383f8a
commit 0d62680f63
4 changed files with 43 additions and 0 deletions
@@ -0,0 +1,24 @@
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"
}