Experiment: do not serialize compile-time constant initializers for non-const properties
diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/SerializerExtensionBase.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/SerializerExtensionBase.kt
index 8594932..a654f69 100644
--- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/SerializerExtensionBase.kt
+++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/SerializerExtensionBase.kt
@@ -100,7 +100,7 @@
             }
         }
         val constantInitializer = descriptor.compileTimeInitializer ?: return
-        if (constantInitializer !is NullValue) {
+        if (constantInitializer !is NullValue && descriptor.isConst) {
             proto.setExtension(protocol.compileTimeValue, annotationSerializer.valueProto(constantInitializer).build())
         }
     }
diff --git a/compiler/testData/serialization/builtinsSerializer/compileTimeConstants.txt b/compiler/testData/serialization/builtinsSerializer/compileTimeConstants.txt
index a36c600..a83e71b 100644
--- a/compiler/testData/serialization/builtinsSerializer/compileTimeConstants.txt
+++ b/compiler/testData/serialization/builtinsSerializer/compileTimeConstants.txt
@@ -1,34 +1,34 @@
 package test
 
-public val a: kotlin.Int = 10
-public val arrayConst: kotlin.Any = {1.toByte(), 2.toByte()}
-public val b: kotlin.Int = 30
-public val booleanConst: kotlin.Boolean = true
-public val byteConst: kotlin.Byte = 10.toByte()
-public val charConst: kotlin.Char = \u0041 ('A')
-public val doubleConst: kotlin.Double = 3.0.toDouble()
-public val enumConst: test.Weapon? = Weapon.ROCK
-public val floatConst: kotlin.Float = 2.0.toFloat()
-public val intConst: kotlin.Int = 30
-public val longConst: kotlin.Long = 40.toLong()
-public val shortConst: kotlin.Short = 20.toShort()
-public val stringConst: kotlin.String = "abcd"
+public val a: kotlin.Int
+public val arrayConst: kotlin.Any
+public val b: kotlin.Int
+public val booleanConst: kotlin.Boolean
+public val byteConst: kotlin.Byte
+public val charConst: kotlin.Char
+public val doubleConst: kotlin.Double
+public val enumConst: test.Weapon?
+public val floatConst: kotlin.Float
+public val intConst: kotlin.Int
+public val longConst: kotlin.Long
+public val shortConst: kotlin.Short
+public val stringConst: kotlin.String
 
 public final class Class {
     public constructor Class()
-    public final val a: kotlin.Int = 10
-    public final val arrayConst: kotlin.Any = {1.toByte(), 2.toByte()}
-    public final val b: kotlin.Int = 30
-    public final val booleanConst: kotlin.Boolean = true
-    public final val byteConst: kotlin.Byte = 10.toByte()
-    public final val charConst: kotlin.Char = \u0041 ('A')
-    public final val doubleConst: kotlin.Double = 3.0.toDouble()
-    public final val enumConst: test.Weapon? = Weapon.ROCK
-    public final val floatConst: kotlin.Float = 2.0.toFloat()
-    public final val intConst: kotlin.Int = 30
-    public final val longConst: kotlin.Long = 40.toLong()
-    public final val shortConst: kotlin.Short = 20.toShort()
-    public final val stringConst: kotlin.String = "abcd"
+    public final val a: kotlin.Int
+    public final val arrayConst: kotlin.Any
+    public final val b: kotlin.Int
+    public final val booleanConst: kotlin.Boolean
+    public final val byteConst: kotlin.Byte
+    public final val charConst: kotlin.Char
+    public final val doubleConst: kotlin.Double
+    public final val enumConst: test.Weapon?
+    public final val floatConst: kotlin.Float
+    public final val intConst: kotlin.Int
+    public final val longConst: kotlin.Long
+    public final val shortConst: kotlin.Short
+    public final val stringConst: kotlin.String
 }
 
 public final enum class Weapon : kotlin.Enum<test.Weapon> {
diff --git a/compiler/testData/serialization/builtinsSerializer/nestedClassesAndObjects.txt b/compiler/testData/serialization/builtinsSerializer/nestedClassesAndObjects.txt
index be1537f..ddb84a3 100644
--- a/compiler/testData/serialization/builtinsSerializer/nestedClassesAndObjects.txt
+++ b/compiler/testData/serialization/builtinsSerializer/nestedClassesAndObjects.txt
@@ -5,17 +5,17 @@
 
     public companion object Companion {
         private constructor Companion()
-        public final val stat: kotlin.Int = 250
+        public final val stat: kotlin.Int
 
         public final class D {
             public constructor D()
-            public final val memberFromD: kotlin.Int = 275
+            public final val memberFromD: kotlin.Int
         }
     }
 
     public object ObjA {
         private constructor ObjA()
-        public final val memberFromObjA: kotlin.Int = 300
+        public final val memberFromObjA: kotlin.Int
     }
 
     public final class classB {
diff --git a/compiler/testData/serialization/builtinsSerializer/propertyAccessorAnnotations.txt b/compiler/testData/serialization/builtinsSerializer/propertyAccessorAnnotations.txt
index d9a4fff..137a3c5 100644
--- a/compiler/testData/serialization/builtinsSerializer/propertyAccessorAnnotations.txt
+++ b/compiler/testData/serialization/builtinsSerializer/propertyAccessorAnnotations.txt
@@ -1,6 +1,6 @@
 package test
 
-@test.Anno(value = "property") public val v1: kotlin.String = ""
+@test.Anno(value = "property") public val v1: kotlin.String
 @get:test.Anno(value = "getter") @set:test.Anno(value = "setter") @setparam:test.Anno(value = "setparam") public var v2: kotlin.String
 
 public final annotation class Anno : kotlin.Annotation {