jvm-abi-gen: consider private type aliases to be public API

They can be referenced from public declarations right now.

^KT-54500 Fixed
This commit is contained in:
pyos
2022-10-18 09:54:32 +02:00
committed by Alexander Udalov
parent 05fd437d42
commit a30d19b655
4 changed files with 6 additions and 12 deletions
@@ -73,7 +73,8 @@ class JvmSerializerExtension @JvmOverloads constructor(
}
override fun shouldSerializeTypeAlias(descriptor: TypeAliasDescriptor): Boolean {
return classBuilderMode != ClassBuilderMode.ABI || descriptor.visibility != DescriptorVisibilities.PRIVATE
// TODO: do not serialize private type aliases in ABI class builder mode once KT-17229 is fixed.
return true
}
override fun shouldSerializeNestedClass(descriptor: ClassDescriptor): Boolean {
@@ -87,7 +87,8 @@ class FirJvmSerializerExtension(
}
override fun shouldSerializeTypeAlias(typeAlias: FirTypeAlias): Boolean {
return classBuilderMode != ClassBuilderMode.ABI || typeAlias.visibility != Visibilities.Private
// TODO: do not serialize private type aliases in ABI class builder mode once KT-17229 is fixed.
return true
}
override fun shouldSerializeNestedClass(nestedClass: FirRegularClass): Boolean {
@@ -155,11 +155,7 @@ private class AbiKmClassVisitor(delegate: KmClassVisitor) : KmClassVisitor(deleg
return null
}
override fun visitTypeAlias(flags: Flags, name: String): KmTypeAliasVisitor? {
if (!isPrivateDeclaration(flags))
return super.visitTypeAlias(flags, name)
return null
}
// TODO: do not serialize private type aliases once KT-17229 is fixed.
override fun visitExtensions(type: KmExtensionType): KmClassExtensionVisitor? {
val delegate = super.visitExtensions(type)
@@ -189,11 +185,7 @@ private class AbiKmPackageVisitor(delegate: KmPackageVisitor) : KmPackageVisitor
return null
}
override fun visitTypeAlias(flags: Flags, name: String): KmTypeAliasVisitor? {
if (!isPrivateDeclaration(flags))
return super.visitTypeAlias(flags, name)
return null
}
// TODO: do not serialize private type aliases once KT-17229 is fixed.
override fun visitExtensions(type: KmExtensionType): KmPackageExtensionVisitor? {
val delegate = super.visitExtensions(type)