Add language feature for changed name of property annotations method

#KT-31352 Fixed
This commit is contained in:
Alexander Udalov
2019-05-28 16:39:53 +02:00
parent ea0142da60
commit 01ddac58e1
32 changed files with 83 additions and 50 deletions
@@ -1157,7 +1157,10 @@ class KotlinTypeMapper @JvmOverloads constructor(
fun mapSyntheticMethodForPropertyAnnotations(descriptor: PropertyDescriptor): Method {
val receiver = descriptor.extensionReceiverParameter
val name = JvmAbi.getSyntheticMethodNameForAnnotatedProperty(mapFunctionName(descriptor.getter!!, OwnerKind.IMPLEMENTATION))
val baseName = if (languageVersionSettings.supportsFeature(LanguageFeature.UseGetterNameForPropertyAnnotationsMethodOnJvm)) {
mapFunctionName(descriptor.getter!!, OwnerKind.IMPLEMENTATION)
} else descriptor.name.asString()
val name = JvmAbi.getSyntheticMethodNameForAnnotatedProperty(baseName)
val desc = if (receiver == null) "()V" else "(${mapType(receiver.type)})V"
return Method(name, desc)
}