diff --git a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIr.kt b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIr.kt index f10e70c4521..fd127b4e79b 100644 --- a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIr.kt +++ b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIr.kt @@ -540,8 +540,9 @@ class EnumEntryStub( class TypealiasStub( val alias: Classifier, val aliasee: StubType, - val origin: StubOrigin -) : StubIrElement { + val origin: StubOrigin, + override val annotations: List = emptyList(), +) : StubIrElement, AnnotationHolder { override fun accept(visitor: StubIrVisitor, data: T) = visitor.visitTypealias(this, data) diff --git a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrMetadataEmitter.kt b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrMetadataEmitter.kt index 7038e610cdf..432e7844177 100644 --- a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrMetadataEmitter.kt +++ b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrMetadataEmitter.kt @@ -141,6 +141,7 @@ internal class ModuleMetadataEmitter( override fun visitTypealias(element: TypealiasStub, data: VisitingContext): KmTypeAlias = data.withMappingExtensions { KmTypeAlias(element.alias.topLevelName).also { km -> + element.annotations.mapTo(km.annotations) { it.map() } km.visibility = Visibility.PUBLIC km.underlyingType = element.aliasee.map(shouldExpandTypeAliases = false) km.expandedType = element.aliasee.map() diff --git a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrTextEmitter.kt b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrTextEmitter.kt index bcb79e733b0..f34c5426333 100644 --- a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrTextEmitter.kt +++ b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/StubIrTextEmitter.kt @@ -179,6 +179,9 @@ class StubIrTextEmitter( override fun visitTypealias(element: TypealiasStub, data: StubContainer?) { val alias = renderClassifierDeclaration(element.alias) val aliasee = renderStubType(element.aliasee) + element.annotations.forEach { + out(renderAnnotation(it)) + } out("typealias $alias = $aliasee") }