diff --git a/plugins/kotlinx-serialization/kotlinx-serialization.k2/src/org/jetbrains/kotlinx/serialization/compiler/fir/checkers/FirSerializationPluginClassChecker.kt b/plugins/kotlinx-serialization/kotlinx-serialization.k2/src/org/jetbrains/kotlinx/serialization/compiler/fir/checkers/FirSerializationPluginClassChecker.kt index 86a9cdb1d2e..806a0c7ffc6 100644 --- a/plugins/kotlinx-serialization/kotlinx-serialization.k2/src/org/jetbrains/kotlinx/serialization/compiler/fir/checkers/FirSerializationPluginClassChecker.kt +++ b/plugins/kotlinx-serialization/kotlinx-serialization.k2/src/org/jetbrains/kotlinx/serialization/compiler/fir/checkers/FirSerializationPluginClassChecker.kt @@ -63,8 +63,9 @@ object FirSerializationPluginClassChecker : FirClassChecker() { private fun checkMetaSerializableApplicable(classSymbol: FirClassSymbol, reporter: DiagnosticReporter) { if (classSymbol.classKind != ClassKind.ANNOTATION_CLASS) return if (!classSymbol.classId.isNestedClass) return - val anno = classSymbol.resolvedAnnotationsWithClassIds.find { it.classId == SerializationAnnotations.metaSerializableAnnotationClassId } - if (anno == null) return + val anno = classSymbol.resolvedAnnotationsWithClassIds + .find { it.toAnnotationClassId(session) == SerializationAnnotations.metaSerializableAnnotationClassId } + ?: return reporter.reportOn(anno.source, FirSerializationErrors.META_SERIALIZABLE_NOT_APPLICABLE) } @@ -92,7 +93,7 @@ object FirSerializationPluginClassChecker : FirClassChecker() { fun annotationsFilter(annotations: List): List> { return annotations .filter { it.annotationTypeRef.toRegularClassSymbol(session)?.isInheritableSerialInfoAnnotation(session) == true } - .mapNotNull { annotation -> annotation.classId?.let { it to annotation } } + .mapNotNull { annotation -> annotation.toAnnotationClassId(session)?.let { it to annotation } } } val annotationByClassId = buildMap {