-- PIR IrProperty#overriddenSymbols
diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt
index 3b1707e..d4a6772 100644
--- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt
+++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierDeserializer.kt
@@ -231,7 +231,7 @@
             if (proto.hasBackingField()) deserializeField(proto.backingField) else null,
             if (proto.hasGetter()) deserializeSimpleFunction(proto.getter) else null,
             if (proto.hasSetter()) deserializeSimpleFunction(proto.setter) else null,
-            emptyList() // TODO
+            proto.overriddenSymbolsList.map { deserializePropertySymbol(it) }
         )
     }
 
diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt
index 002b9f1..c85b44f 100644
--- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt
+++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/serialization/IrCarrierSerializer.kt
@@ -207,6 +207,7 @@
         carrier.backingFieldSymbolField?.let { proto.setBackingField(serializeField(it)) }
         carrier.getterSymbolField?.let { proto.setGetter(serializeSimpleFunction(it)) }
         carrier.setterSymbolField?.let { proto.setSetter(serializeSimpleFunction(it)) }
+        proto.addAllOverriddenSymbols(carrier.overriddenSymbolsField.map { serializePropertySymbol(it) })
         return proto.build().toByteArray()
     }
 
diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt
index dd2d105..e8d568d 100644
--- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt
+++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/PersistentIrGenerator.kt
@@ -152,6 +152,9 @@
     val simpleFunctionProto = Proto("int64", "simpleFunction", +"Long", IrSimpleFunctionSymbol)
     val simpleFunctionSymbolListProto =
         Proto("int64", "simpleFunctionSymbol", +"Long", IrSimpleFunctionSymbol, fieldKind = FieldKind.REPEATED)
+    val propertySymbolListProto =
+        Proto("int64", "propertySymbol", +"Long", IrPropertySymbol, fieldKind = FieldKind.REPEATED)
+
     val fieldProto = Proto("int64", "field", +"Long", IrFieldSymbol)
 
     val visibilityProto = Proto(null, "visibility", +"Long", DescriptorVisibility)
diff --git a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt
index 4293a1b..21bf1f3 100644
--- a/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt
+++ b/compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Property.kt
@@ -30,6 +30,11 @@
         symbolToDeclaration = +"?.owner",
         declarationToSymbol = +"?.symbol"
     )
+    val overriddenSymbolsField = Field(
+        "overriddenSymbols",
+        +"List<" + IrPropertySymbol + ">",
+        propertySymbolListProto
+    )
 
     writeFile("PersistentIrPropertyCommon.kt", renderFile("org.jetbrains.kotlin.ir.declarations.persistent") {
         lines(
@@ -55,6 +60,7 @@
                 backingFieldField.toPersistentField(+"null"),
                 getterField.toPersistentField(+"null"),
                 setterField.toPersistentField(+"null"),
+                overriddenSymbolsField.toPersistentField(+"emptyList()"),
                 +"override var metadata: " + MetadataSource + "? = null",
                 lines(
                     +"@Suppress(\"LeakingThis\")",
@@ -71,6 +77,7 @@
             backingFieldField,
             getterField,
             setterField,
+            overriddenSymbolsField,
         )()
     })
 
@@ -79,5 +86,6 @@
         backingFieldField,
         getterField,
         setterField,
+        overriddenSymbolsField,
     )
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/KotlinPirCarriers.proto b/compiler/ir/serialization.common/src/KotlinPirCarriers.proto
index 2130d22..fd1085b 100644
--- a/compiler/ir/serialization.common/src/KotlinPirCarriers.proto
+++ b/compiler/ir/serialization.common/src/KotlinPirCarriers.proto
@@ -103,6 +103,7 @@
     optional int64 backingField = 5;
     optional int64 getter = 6;
     optional int64 setter = 7;
+    repeated int64 overriddenSymbols = 8;
 }
 
 message PirTypeAliasCarrier {