[K2/N] KT-55464, KT-56091 Fix various klib annotations, including critical ones
Merge-request: KT-MR-8457 Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
53967a1822
commit
1990883bdc
+1
-1
@@ -744,7 +744,7 @@ class FirElementSerializer private constructor(
|
||||
for (attribute in type.attributes) {
|
||||
when {
|
||||
attribute is CustomAnnotationTypeAttribute ->
|
||||
for (annotation in attribute.annotations) {
|
||||
for (annotation in attribute.annotations.nonSourceAnnotations(session)) {
|
||||
extension.serializeTypeAnnotation(annotation, builder)
|
||||
}
|
||||
attribute.key in CompilerConeAttributes.classIdByCompilerAttributeKey ->
|
||||
|
||||
+4
-2
@@ -55,8 +55,8 @@ private val FirExpression.callableNameOfMetaAnnotationArgument: Name?
|
||||
|
||||
private val sourceName = Name.identifier("SOURCE")
|
||||
|
||||
fun FirAnnotationContainer.nonSourceAnnotations(session: FirSession): List<FirAnnotation> =
|
||||
annotations.filter { annotation ->
|
||||
fun List<FirAnnotation>.nonSourceAnnotations(session: FirSession): List<FirAnnotation> =
|
||||
this.filter { annotation ->
|
||||
val firAnnotationClass = annotation.toAnnotationClass(session)
|
||||
firAnnotationClass != null && firAnnotationClass.annotations.none { meta ->
|
||||
meta.toAnnotationClassId(session) == StandardClassIds.Annotations.Retention &&
|
||||
@@ -64,6 +64,8 @@ fun FirAnnotationContainer.nonSourceAnnotations(session: FirSession): List<FirAn
|
||||
?.callableNameOfMetaAnnotationArgument == sourceName
|
||||
}
|
||||
}
|
||||
fun FirAnnotationContainer.nonSourceAnnotations(session: FirSession): List<FirAnnotation> =
|
||||
annotations.nonSourceAnnotations(session)
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun FirProperty.hasJvmFieldAnnotation(session: FirSession): Boolean = annotations.any { it.isJvmFieldAnnotation(session) }
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// KT-55464
|
||||
// IGNORE_BACKEND_K2: NATIVE
|
||||
// MODULE: lib
|
||||
// WITH_STDLIB
|
||||
// WITH_COROUTINES
|
||||
|
||||
-2
@@ -1,6 +1,4 @@
|
||||
// IGNORE_BACKEND: JS_IR, JS_IR_ES6
|
||||
// KT-55464
|
||||
// IGNORE_BACKEND_K2: NATIVE
|
||||
// WITH_COROUTINES
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib(support)
|
||||
|
||||
Reference in New Issue
Block a user