diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt index 0bfd5fea778..3658c24b9df 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt @@ -534,16 +534,19 @@ class CallAndReferenceGenerator( if (annotationMode) { for ((index, parameter) in valueParameters.withIndex()) { if (parameter.isVararg && !argumentMapping.containsValue(parameter)) { - val elementType = parameter.returnTypeRef.toIrType() - putValueArgument( - index, + val defaultValue = parameter.defaultValue + val value = if (defaultValue != null) { + convertArgument(defaultValue, parameter, ConeSubstitutor.Empty, annotationMode) + } else { + val elementType = parameter.returnTypeRef.toIrType() IrVarargImpl( UNDEFINED_OFFSET, UNDEFINED_OFFSET, elementType, elementType.toArrayOrPrimitiveArrayType(irBuiltIns) ) - ) + } + putValueArgument(index, value) } } } diff --git a/compiler/testData/codegen/box/annotations/javaAnnotationArrayValueDefault.kt b/compiler/testData/codegen/box/annotations/javaAnnotationArrayValueDefault.kt index 17b5a5bd452..1475aeab750 100644 --- a/compiler/testData/codegen/box/annotations/javaAnnotationArrayValueDefault.kt +++ b/compiler/testData/codegen/box/annotations/javaAnnotationArrayValueDefault.kt @@ -1,5 +1,4 @@ // TARGET_BACKEND: JVM -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // MODULE: lib // FILE: JavaAnn.java