Prohibit @JvmField on properties of inline class types
#KT-26454 Fixed
This commit is contained in:
Vendored
+14
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +NestedClassesInAnnotations
|
||||
// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!>
|
||||
@@ -128,3 +128,16 @@ object O {
|
||||
|
||||
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
|
||||
private val private = 3
|
||||
|
||||
inline class Foo(val x: Int)
|
||||
|
||||
object IObject {
|
||||
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
|
||||
val c: Foo = Foo(42)
|
||||
|
||||
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
|
||||
val u = <!EXPERIMENTAL_UNSIGNED_LITERALS!>42u<!>
|
||||
|
||||
@JvmField
|
||||
internal val r: Result<Int> = TODO()
|
||||
}
|
||||
|
||||
Vendored
+18
@@ -33,6 +33,14 @@ public final annotation class DemoAnnotation : kotlin.Annotation {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class Foo {
|
||||
public constructor Foo(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class G {
|
||||
public constructor G()
|
||||
@field:kotlin.jvm.JvmField public final lateinit var lateInit: kotlin.String
|
||||
@@ -65,6 +73,16 @@ public interface I {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object IObject {
|
||||
private constructor IObject()
|
||||
@field:kotlin.jvm.JvmField public final val c: Foo
|
||||
@field:kotlin.jvm.JvmField internal final val r: kotlin.Result<kotlin.Int>
|
||||
@field:kotlin.jvm.JvmField public final val u: kotlin.UInt = 42.toUInt()
|
||||
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
|
||||
}
|
||||
|
||||
public interface K {
|
||||
public abstract val i: kotlin.Int
|
||||
public abstract val j: kotlin.Int
|
||||
|
||||
Reference in New Issue
Block a user