Support nested classes in annotation classes

#KT-16962 In Progress
This commit is contained in:
Alexander Udalov
2017-12-28 16:51:42 +01:00
parent 5947b4eb8e
commit a46a2b9b1c
20 changed files with 207 additions and 34 deletions
@@ -1,4 +1,6 @@
// !LANGUAGE: +NestedClassesInAnnotations
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!>
fun foo() {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> val x = "A"
@@ -110,10 +112,17 @@ open class KKK : K {
override final val j: Int = 0
}
annotation class L {
companion object {
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
var c = 3
}
}
object O {
@JvmField
val c = 3
}
<!INAPPLICABLE_JVM_FIELD!>@JvmField<!>
private val private = 3
private val private = 3
@@ -99,6 +99,21 @@ public open class KKK : K {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final annotation class L : kotlin.Annotation {
public constructor L()
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 companion object Companion {
private constructor Companion()
@kotlin.jvm.JvmField public final var c: kotlin.Int
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 object O {
private constructor O()
@kotlin.jvm.JvmField public final val c: kotlin.Int = 3