From 7a6b510ddb16ba6b2c0ad043de80685edd0f8c21 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 25 Nov 2016 13:17:20 +0300 Subject: [PATCH] Include `external` modifier to serialized descriptors for classes and properties --- .../kotlin/serialization/DescriptorSerializer.kt | 4 ++-- .../src/org/jetbrains/kotlin/serialization/Flags.java | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt index d16a37245b5..f01a973e180 100644 --- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt +++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt @@ -57,7 +57,7 @@ class DescriptorSerializer private constructor( val flags = Flags.getClassFlags( hasAnnotations(classDescriptor), classDescriptor.visibility, classDescriptor.modality, classDescriptor.kind, - classDescriptor.isInner, classDescriptor.isCompanionObject, classDescriptor.isData + classDescriptor.isInner, classDescriptor.isCompanionObject, classDescriptor.isData, classDescriptor.isExternal ) if (flags != builder.flags) { builder.flags = flags @@ -170,7 +170,7 @@ class DescriptorSerializer private constructor( val flags = Flags.getPropertyFlags( hasAnnotations, descriptor.visibility, descriptor.modality, descriptor.kind, descriptor.isVar, - hasGetter, hasSetter, hasConstant, isConst, lateInit + hasGetter, hasSetter, hasConstant, isConst, lateInit, descriptor.isExternal ) if (flags != builder.flags) { builder.flags = flags diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java index f2391ad2e42..8653329124c 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java @@ -86,7 +86,8 @@ public class Flags { ClassKind kind, boolean inner, boolean isCompanionObject, - boolean isData + boolean isData, + boolean isExternal ) { return HAS_ANNOTATIONS.toFlags(hasAnnotations) | MODALITY.toFlags(modality(modality)) @@ -94,6 +95,7 @@ public class Flags { | CLASS_KIND.toFlags(classKind(kind, isCompanionObject)) | IS_INNER.toFlags(inner) | IS_DATA.toFlags(isData) + | IS_EXTERNAL_CLASS.toFlags(isExternal) ; } @@ -163,7 +165,8 @@ public class Flags { boolean hasSetter, boolean hasConstant, boolean isConst, - boolean lateInit + boolean lateInit, + boolean isExternal ) { return HAS_ANNOTATIONS.toFlags(hasAnnotations) | VISIBILITY.toFlags(visibility(visibility)) @@ -175,6 +178,7 @@ public class Flags { | IS_CONST.toFlags(isConst) | IS_LATEINIT.toFlags(lateInit) | HAS_CONSTANT.toFlags(hasConstant) + | IS_EXTERNAL_PROPERTY.toFlags(isExternal) ; }