diff --git a/build-common/test/org/jetbrains/kotlin/serialization/DebugProtoBuf.java b/build-common/test/org/jetbrains/kotlin/serialization/DebugProtoBuf.java index f30271f3964..ba209bbb636 100644 --- a/build-common/test/org/jetbrains/kotlin/serialization/DebugProtoBuf.java +++ b/build-common/test/org/jetbrains/kotlin/serialization/DebugProtoBuf.java @@ -22202,8 +22202,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -22213,8 +22213,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -22419,8 +22419,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -22432,8 +22432,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -22913,8 +22913,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -22926,8 +22926,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -22939,8 +22939,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -22955,8 +22955,8 @@ public final class DebugProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
diff --git a/core/deserialization/src/descriptors.proto b/core/deserialization/src/descriptors.proto index 361c6dff1b5..9ed76a06f91 100644 --- a/core/deserialization/src/descriptors.proto +++ b/core/deserialization/src/descriptors.proto @@ -342,8 +342,8 @@ message Property { message ValueParameter { /* - declaresDefault hasAnnotations + declaresDefault isCrossinline isNoinline */ diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java index 0a9cb656f4f..404340830a1 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java @@ -17089,8 +17089,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -17100,8 +17100,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -17290,8 +17290,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -17303,8 +17303,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-     *declaresDefault
      *hasAnnotations
+     *declaresDefault
      *isCrossinline
      *isNoinline
      * 
@@ -17715,8 +17715,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -17728,8 +17728,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -17741,8 +17741,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
@@ -17757,8 +17757,8 @@ public final class ProtoBuf { * optional int32 flags = 1 [default = 0]; * *
-       *declaresDefault
        *hasAnnotations
+       *declaresDefault
        *isCrossinline
        *isNoinline
        * 
diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt index f630379c521..7d5c8623c89 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt @@ -253,13 +253,15 @@ class MemberDeserializer(private val c: DeserializationContext) { return valueParameters.mapIndexed { i, proto -> val flags = if (proto.hasFlags()) proto.flags else 0 + val annotations = if (containerOfCallable != null && Flags.HAS_ANNOTATIONS.get(flags)) { + DeserializedAnnotations(c.storageManager) { + c.components.annotationAndConstantLoader.loadValueParameterAnnotations(containerOfCallable, callable, kind, i, proto) + } + } + else Annotations.EMPTY ValueParameterDescriptorImpl( callableDescriptor, null, i, - containerOfCallable?.let { container -> - DeserializedAnnotations(c.storageManager) { - c.components.annotationAndConstantLoader.loadValueParameterAnnotations(container, callable, kind, i, proto) - } - } ?: Annotations.EMPTY, + annotations, c.nameResolver.getName(proto.name), c.typeDeserializer.type(proto.type(c.typeTable)), Flags.DECLARES_DEFAULT_VALUE.get(flags),