KT-2228 Open and final trait members are loaded as abstract from binary Kotlin classes.

Added storing modality for trait members in @JetMethod annotations.

 #KT-2228 Fixed
This commit is contained in:
Evgeny Gerashchenko
2012-06-08 21:12:00 +04:00
parent ef856c5888
commit f83defaa7f
13 changed files with 110 additions and 23 deletions
@@ -0,0 +1,7 @@
// KT-2228
package test
trait A {
final fun f(): String = "test"
}
@@ -0,0 +1,5 @@
namespace test
abstract trait test.A : jet.Any {
final fun f(): jet.String
}
@@ -0,0 +1,7 @@
// KT-2228
package test
trait A {
fun f(): String = "test"
}
@@ -0,0 +1,5 @@
namespace test
abstract trait test.A : jet.Any {
open fun f(): jet.String
}
@@ -0,0 +1,11 @@
// KT-2228
package test
trait A {
var v: String
get() = "test"
set(value) {
throw UnsupportedOperationException()
}
}
@@ -0,0 +1,5 @@
namespace test
abstract trait test.A : jet.Any {
open var v: jet.String
}
@@ -0,0 +1,8 @@
// KT-2228
package test
trait A {
val v: String
get() = "test"
}
@@ -0,0 +1,5 @@
namespace test
abstract trait test.A : jet.Any {
open val v: jet.String
}