Files
kotlin/compiler/testData/loadJava/compiledKotlin/annotations/withUseSiteTarget/PropertyAndAccessor.txt
Alexander Udalov 06ce0cb0f0 Fix deserialization of default property accessor flags
In MemberDeserializer.loadProperty, we incorrectly passed 0 to
getAnnotations when loading annotations on property accessors in case
the protobuf field getter_flags/setter_flags was not present. The
correct behavior, as described in metadata.proto, was to pass a special
"default accessor flags" value, constructed from the main property
flags. Otherwise in case there were annotations both on the property and
on the accessor (as in PropertyAndAccessor.kt) and the accessor was
otherwise default, we would assume that it had no annotations and would
not load them in compiler and reflection

 #KT-25499 In Progress
2018-09-07 11:49:41 +03:00

26 lines
1.3 KiB
Plaintext
Vendored

package test
public final annotation class A : kotlin.Annotation {
/*primary*/ public constructor A(/*0*/ value: kotlin.String)
public final val value: kotlin.String
public final fun <get-value>(): kotlin.String
}
public final annotation class B : kotlin.Annotation {
/*primary*/ public constructor B(/*0*/ value: kotlin.Array<kotlin.String>)
public final val value: kotlin.Array<kotlin.String>
public final fun <get-value>(): kotlin.Array<kotlin.String>
}
public interface I {
public abstract var getterAndSetter: kotlin.Int
@test.A(value = "getter") public abstract fun <get-getterAndSetter>(): kotlin.Int
@test.B(value = {"setter"}) public abstract fun <set-getterAndSetter>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
@test.A(value = "property") public abstract var propertyAndGetter: kotlin.Int
@test.B(value = {"getter"}) public abstract fun <get-propertyAndGetter>(): kotlin.Int
public abstract fun <set-propertyAndGetter>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
@test.A(value = "property") public abstract var propertyAndSetter: kotlin.Int
public abstract fun <get-propertyAndSetter>(): kotlin.Int
@test.B(value = {"setter"}) public abstract fun <set-propertyAndSetter>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
}