Refactor serialization of package FQ name extension
Instead of requiring to pass it in SerializerExtensionBase's constructor, pass it always in serializePackage. This is more straightforward and helps in a situation where one SerializerExtension instance is used for the whole module, not one per-package
This commit is contained in:
+2
-2
@@ -93,7 +93,7 @@ object KotlinJavascriptSerializationUtil {
|
||||
val skip: (DeclarationDescriptor) -> Boolean = { DescriptorUtils.getContainingModule(it) != module || (it is MemberDescriptor && it.isHeader) }
|
||||
|
||||
val fileRegistry = KotlinFileRegistry()
|
||||
val serializerExtension = KotlinJavascriptSerializerExtension(fileRegistry, fqName)
|
||||
val serializerExtension = KotlinJavascriptSerializerExtension(fileRegistry)
|
||||
val serializer = DescriptorSerializer.createTopLevel(serializerExtension)
|
||||
|
||||
val classDescriptors = DescriptorSerializer.sort(
|
||||
@@ -123,7 +123,7 @@ object KotlinJavascriptSerializationUtil {
|
||||
val members = fragments
|
||||
.flatMap { fragment -> DescriptorUtils.getAllDescriptors(fragment.getMemberScope()) }
|
||||
.filterNot(skip)
|
||||
builder.`package` = serializer.packagePartProto(members).build()
|
||||
builder.`package` = serializer.packagePartProto(fqName, members).build()
|
||||
|
||||
builder.setExtension(
|
||||
JsProtoBuf.packageFragmentFiles,
|
||||
|
||||
+2
-3
@@ -29,9 +29,8 @@ import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
||||
import org.jetbrains.kotlin.types.FlexibleType
|
||||
|
||||
class KotlinJavascriptSerializerExtension(
|
||||
private val fileRegistry: KotlinFileRegistry,
|
||||
packageFqName: FqName
|
||||
) : KotlinSerializerExtensionBase(JsSerializerProtocol, packageFqName) {
|
||||
private val fileRegistry: KotlinFileRegistry
|
||||
) : KotlinSerializerExtensionBase(JsSerializerProtocol) {
|
||||
override val stringTable = JavaScriptStringTable()
|
||||
|
||||
override fun serializeFlexibleType(flexibleType: FlexibleType, lowerProto: ProtoBuf.Type.Builder, upperProto: ProtoBuf.Type.Builder) {
|
||||
|
||||
Reference in New Issue
Block a user