Native: add support for annotations on typealiases in cinterop
^KT-58362
This commit is contained in:
committed by
Space Team
parent
67f4343137
commit
1053d18871
+3
-2
@@ -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<AnnotationStub> = emptyList(),
|
||||
) : StubIrElement, AnnotationHolder {
|
||||
|
||||
override fun <T, R> accept(visitor: StubIrVisitor<T, R>, data: T) =
|
||||
visitor.visitTypealias(this, data)
|
||||
|
||||
+1
@@ -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()
|
||||
|
||||
+3
@@ -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")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user