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),