Generate bridges for fake overrides when needed

#KT-3985 Fixed
 #KT-4145 Fixed
This commit is contained in:
Alexander Udalov
2014-03-27 19:33:42 +04:00
parent 2c2c918447
commit 04c237cc22
17 changed files with 300 additions and 97 deletions
@@ -0,0 +1,21 @@
// KT-3985
trait Trait<T> {
fun f(): T
}
open class Class {
fun f(): String = throw UnsupportedOperationException()
}
class Foo: Class(), Trait<String> {
}
fun box(): String {
try {
(Foo() : Trait<String>).f()
} catch (e: UnsupportedOperationException) {
return "OK"
}
return "Fail"
}