Fix VerifyError for enum constructor with default arguments

This commit is contained in:
Natalia.Ukhorskaya
2012-12-26 19:46:55 +04:00
parent beec5a843e
commit e9d1171d6d
21 changed files with 381 additions and 38 deletions
@@ -0,0 +1,9 @@
fun Int.foo(a: Int = 1): Int {
return a
}
fun box(): String {
if (1.foo() != 1) return "fail"
if (1.foo(2) != 2) return "fail"
return "OK"
}
@@ -0,0 +1,9 @@
fun Double.foo(a: Double = 1.0): Double {
return a
}
fun box(): String {
if (1.0.foo() != 1.0) return "fail"
if (1.0.foo(2.0) != 2.0) return "fail"
return "OK"
}
@@ -0,0 +1,11 @@
fun Double.foo(a: Double = 1.0, b: Double = 1.0): Double {
return a + b
}
fun box(): String {
if (1.0.foo() != 2.0) return "fail"
if (1.0.foo(2.0, 2.0) != 4.0) return "fail"
if (1.0.foo(a = 2.0) != 3.0) return "fail"
if (1.0.foo(b = 2.0) != 3.0) return "fail"
return "OK"
}
@@ -0,0 +1,17 @@
class A {
class object {
fun Int.foo(a: Int = 1): Int {
return a
}
fun test(): String {
if (1.foo() != 1) return "fail"
if (1.foo(2) != 2) return "fail"
return "OK"
}
}
}
fun box(): String {
return A.test()
}
@@ -0,0 +1,15 @@
object A {
fun Int.foo(a: Int = 1): Int {
return a
}
fun test(): String {
if (1.foo() != 1) return "fail"
if (1.foo(2) != 2) return "fail"
return "OK"
}
}
fun box(): String {
return A.test()
}
@@ -0,0 +1,9 @@
fun Int.foo(a: Int = 1, b: String): Int {
return a
}
fun box(): String {
if (1.foo(b = "b") != 1) return "fail"
if (1.foo(2, "b") != 2) return "fail"
return "OK"
}
@@ -0,0 +1,14 @@
trait Foo {
fun foo(a: Double = 1.0): Double
}
class FooImpl : Foo {
override fun foo(a: Double): Double {
return a
}
}
fun box(): String {
if (FooImpl().foo() != 1.0) return "fail"
if (FooImpl().foo(2.0) != 2.0) return "fail"
return "OK"
}
@@ -0,0 +1,15 @@
class A {
fun Int.foo(a: Int = 1): Int {
return a
}
fun test(): String {
if (1.foo() != 1) return "fail"
if (1.foo(2) != 2) return "fail"
return "OK"
}
}
fun box(): String {
return A().test()
}
@@ -0,0 +1,15 @@
class A {
fun Double.foo(a: Double = 1.0): Double {
return a
}
fun test(): String {
if (1.0.foo() != 1.0) return "fail"
if (1.0.foo(2.0) != 2.0) return "fail"
return "OK"
}
}
fun box(): String {
return A().test()
}
@@ -0,0 +1,17 @@
class A {
fun Double.foo(a: Double = 1.0, b: Double = 1.0): Double {
return a + b
}
fun test(): String {
if (1.0.foo() != 2.0) return "fail"
if (1.0.foo(2.0, 2.0) != 4.0) return "fail"
if (1.0.foo(a = 2.0) != 3.0) return "fail"
if (1.0.foo(b = 2.0) != 3.0) return "fail"
return "OK"
}
}
fun box(): String {
return A().test()
}