diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt index e840312fe21..e476606f23c 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt @@ -641,7 +641,7 @@ internal fun JavaAnnotationArgument.toFirExpression( is JavaClassObjectAnnotationArgument -> buildGetClassCall { argumentList = buildUnaryArgumentList( buildClassReferenceExpression { - classTypeRef = getReferencedType().toFirResolvedTypeRef(session, javaTypeParameterStack) + classTypeRef = getReferencedType().toFirJavaTypeRef(session, javaTypeParameterStack) } ) } @@ -704,17 +704,3 @@ private fun FirConstExpression<*>.setProperType(session: FirSession): FirConstEx replaceTypeRef(typeRef) return this } - -private fun JavaType.toFirResolvedTypeRef( - session: FirSession, javaTypeParameterStack: JavaTypeParameterStack -): FirResolvedTypeRef { - if (this is JavaClassifierType) return toFirResolvedTypeRef( - session, - javaTypeParameterStack, - isForSupertypes = false, - forTypeParameterBounds = false - ) - return buildResolvedTypeRef { - type = ConeClassErrorType(ConeSimpleDiagnostic("Unexpected JavaType: $this", DiagnosticKind.Java)) - } -} diff --git a/compiler/testData/codegen/box/annotations/javaAnnotationDefault.kt b/compiler/testData/codegen/box/annotations/javaAnnotationDefault.kt index 764350a4992..63a099cb5f2 100644 --- a/compiler/testData/codegen/box/annotations/javaAnnotationDefault.kt +++ b/compiler/testData/codegen/box/annotations/javaAnnotationDefault.kt @@ -25,6 +25,7 @@ import java.lang.annotation.RetentionPolicy; float e() default 1; long j() default 1; String f() default "default"; + Class g() default JavaAnn2.class; } // MODULE: main(lib) @@ -47,6 +48,7 @@ fun box(): String { if (ann2.e != 1F) return "fail for e: expected = 1, but was ${ann2.e}" if (ann2.j != 1L) return "fail for j: expected = 1, but was ${ann2.j}" if (ann2.f != "default") return "fail for f: expected = default, but was ${ann2.f}" + if (ann2.g != JavaAnn2::class) return "fail for g: expected = JavaAnn2, but was ${ann2.g}" return "OK" }