Fix exception when Enum.valueOf got an invalid argument value

#Fixed KT-30515
This commit is contained in:
Igor Yakovlev
2019-09-24 17:20:32 +03:00
parent 9daea89221
commit c5fc55b84c
@@ -209,7 +209,9 @@ fun Annotated.getAnnotationRetention(): KotlinRetention? {
val retentionArgumentValue =
annotations.findAnnotation(KotlinBuiltIns.FQ_NAMES.retention)?.allValueArguments?.get(RETENTION_PARAMETER_NAME)
as? EnumValue ?: return null
return KotlinRetention.valueOf(retentionArgumentValue.enumEntryName.asString())
val retentionArgumentValueName = retentionArgumentValue.enumEntryName.asString()
return KotlinRetention.values().firstOrNull { it.name == retentionArgumentValueName }
}
val Annotated.nonSourceAnnotations: List<AnnotationDescriptor>