4692247897
This code can be invoked early, during body resolution and before the fact that a property has backing field (which is only known for certain after body resolution, because an implicit 'field' identifier may be used). Since split annotations are cached until the end of the program, they may end up on incorrect elements in the bytecode (or disappear completely) as in KT-29507 or KT-28182. Because the FIELD target has the lowest priority among implicit annotation targets (see TARGET_PRIORITIES), it's safe to always assume that FIELD is a valid target when splitting annotations. This only changes the way annotations are split in case of incorrect code, as changes in test data show. #KT-28182 Fixed #KT-29507 Fixed
37 lines
1.9 KiB
Plaintext
Vendored
37 lines
1.9 KiB
Plaintext
Vendored
package
|
|
|
|
public final annotation class Ann : kotlin.Annotation {
|
|
public constructor Ann()
|
|
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 final class CustomDelegate {
|
|
public constructor CustomDelegate()
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public final operator fun getValue(/*0*/ thisRef: kotlin.Any?, /*1*/ prop: kotlin.reflect.KProperty<*>): kotlin.String
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|
|
@Ann public final class SomeClass {
|
|
public constructor SomeClass()
|
|
@field:Ann protected final val delegatedProperty: kotlin.String
|
|
@field:Ann public final val propertyWithCustomGetter: kotlin.Int
|
|
@field:Ann protected final val simpleProperty: kotlin.String = "text"
|
|
@field:Ann protected final val simplePropertyWithAnnotationList: kotlin.String = "text"
|
|
public final fun anotherFun(/*0*/ s: kotlin.String): kotlin.Unit
|
|
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 final class WithPrimaryConstructor {
|
|
public constructor WithPrimaryConstructor(/*0*/ a: kotlin.String)
|
|
@field:Ann public final val a: 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
|
|
}
|