JvmField forbidden for delegated properties

This commit is contained in:
Mikhail Glukhikh
2016-01-15 15:31:14 +03:00
parent ec909d0775
commit a2bba7c8f1
4 changed files with 10 additions and 16 deletions
@@ -13,7 +13,7 @@ abstract class C : I{
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> private fun foo(s: String = "OK") {
}
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val a: String by lazy { "A" }
<!INAPPLICABLE_JVM_FIELD, WRONG_ANNOTATION_TARGET!>@JvmField<!> val a: String by lazy { "A" }
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!> open val b: Int = 3
@@ -49,6 +49,9 @@ interface I {
class G {
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
lateinit var lateInit: String
<!INAPPLICABLE_JVM_FIELD!>@delegate:JvmField<!>
val s: String by lazy { "s" }
}
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
@@ -25,6 +25,7 @@ package
public final class G {
public constructor G()
@kotlin.jvm.JvmField() public final lateinit var lateInit: kotlin.String
@delegate:kotlin.jvm.JvmField() public final val s: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String