Move version requirements serialization for @JvmDefault to JvmSerializerExtension

This commit is contained in:
Mikhael Bogdanov
2018-06-26 14:46:44 +02:00
parent 0ca3afbb34
commit b412c90cef
6 changed files with 78 additions and 36 deletions
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.js.JsProtoBuf
import org.jetbrains.kotlin.metadata.serialization.MutableVersionRequirementTable
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite
@@ -41,12 +42,16 @@ class KotlinJavascriptSerializerExtension(
lowerProto.flexibleTypeCapabilitiesId = stringTable.getStringIndex(DynamicTypeDeserializer.id)
}
override fun serializeClass(descriptor: ClassDescriptor, proto: ProtoBuf.Class.Builder) {
override fun serializeClass(
descriptor: ClassDescriptor,
proto: ProtoBuf.Class.Builder,
versionRequirementTable: MutableVersionRequirementTable
) {
val id = getFileId(descriptor)
if (id != null) {
proto.setExtension(JsProtoBuf.classContainingFileId, id)
}
super.serializeClass(descriptor, proto)
super.serializeClass(descriptor, proto, versionRequirementTable)
}
override fun serializeProperty(descriptor: PropertyDescriptor, proto: ProtoBuf.Property.Builder) {