Moved local declaration descriptor serialization

from KonanLinkData where it serves no purpose,
to KonanIr where it belongs.
This commit is contained in:
Alexander Gorshenev
2017-04-26 22:45:46 +03:00
committed by alexander-gorshenev
parent 2c1fa5e965
commit 503399ade3
4 changed files with 16 additions and 15 deletions
@@ -79,7 +79,7 @@ internal class IrDescriptorDeserializer(val context: Context,
context.log{"### deserialized Kotlin Type index=$index, text=$text:\t$realType"}
return realType
}
fun deserializeLocalDeclaration(irProto: KonanIr.KotlinDescriptor, proto: KonanLinkData.Descriptor): DeclarationDescriptor {
fun deserializeLocalDeclaration(irProto: KonanIr.KotlinDescriptor, proto: KonanIr.DeclarationDescriptor): DeclarationDescriptor {
when {
proto.hasFunction() -> {
val functionProto = proto.function
@@ -2,6 +2,7 @@
syntax = "proto2";
package org.jetbrains.kotlin.serialization;
import "org/jetbrains/kotlin/backend/konan/serialization/descriptors.proto1";
import "org/jetbrains/kotlin/backend/konan/serialization/KonanLinkData.proto";
option java_outer_classname = "KonanIr";
option optimize_for = LITE_RUNTIME;
@@ -41,9 +42,18 @@ message UniqId {
required int64 index = 1;
}
// Inner descriptors used for inlining.
message DeclarationDescriptor {
// These are ProtoBuf.Function, ProtoBuf.Class etc
oneof descriptor {
Function function = 1;
Class clazz = 2;
Property property = 3;
Constructor constructor = 4;
}
}
message LocalDeclaration {
// This is Descriptor message from KonanLinkData
required Descriptor descriptor = 1;
required DeclarationDescriptor descriptor = 1;
}
message KotlinType {
@@ -70,16 +70,6 @@ message InlineIrBody {
required string encoded_ir = 11;
}
// Inner descriptors used for inlining.
message Descriptor {
oneof descriptor {
Function function = 1;
Class clazz = 2;
Property property = 3;
Constructor constructor = 4;
}
}
// Konan Binary Linkdata structures.
message PackageFragment {
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.KonanDescriptorSerializer
import org.jetbrains.kotlin.serialization.KonanIr
import org.jetbrains.kotlin.serialization.KonanLinkData
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.*
@@ -295,9 +296,9 @@ internal class KonanSerializationUtil(val context: Context) {
return property
}
fun serializeLocalDeclaration(descriptor: DeclarationDescriptor): KonanLinkData.Descriptor {
fun serializeLocalDeclaration(descriptor: DeclarationDescriptor): KonanIr.DeclarationDescriptor {
val proto = KonanLinkData.Descriptor.newBuilder()
val proto = KonanIr.DeclarationDescriptor.newBuilder()
context.log{"### serializeLocalDeclaration: $descriptor"}