diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt index a8237f7de66..45f2289e83d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationUtil.kt @@ -24,6 +24,8 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.DescriptorUtils +import org.jetbrains.kotlin.resolve.constants.ConstantValue +import org.jetbrains.kotlin.resolve.constants.ErrorValue fun DeclarationDescriptor.hasJvmStaticAnnotation(): Boolean { return annotations.findAnnotation(FqName("kotlin.jvm.JvmStatic")) != null @@ -52,7 +54,12 @@ private fun CallableDescriptor.isPlatformStaticIn(predicate: (DeclarationDescrip } fun AnnotationDescriptor.argumentValue(parameterName: String): Any? { - return allValueArguments.entries + val constant: ConstantValue<*>? = allValueArguments.entries .singleOrNull { it.key.name.asString() == parameterName } - ?.value?.value + ?.value + + if (constant == null || constant is ErrorValue) + return null + + return constant.value } \ No newline at end of file