IR KT-46578 add IrProperty#overriddenSymbols
This commit is contained in:
committed by
teamcityserver
parent
dc9d5cdf35
commit
53c1de172f
+3
@@ -152,6 +152,9 @@ internal object PersistentIrGenerator {
|
||||
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)
|
||||
|
||||
+8
@@ -30,6 +30,11 @@ internal fun PersistentIrGenerator.generateProperty() {
|
||||
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 @@ internal fun PersistentIrGenerator.generateProperty() {
|
||||
backingFieldField.toPersistentField(+"null"),
|
||||
getterField.toPersistentField(+"null"),
|
||||
setterField.toPersistentField(+"null"),
|
||||
overriddenSymbolsField.toPersistentField(+"emptyList()"),
|
||||
+"override var metadata: " + MetadataSource + "? = null",
|
||||
lines(
|
||||
+"@Suppress(\"LeakingThis\")",
|
||||
@@ -71,6 +77,7 @@ internal fun PersistentIrGenerator.generateProperty() {
|
||||
backingFieldField,
|
||||
getterField,
|
||||
setterField,
|
||||
overriddenSymbolsField,
|
||||
)()
|
||||
})
|
||||
|
||||
@@ -79,5 +86,6 @@ internal fun PersistentIrGenerator.generateProperty() {
|
||||
backingFieldField,
|
||||
getterField,
|
||||
setterField,
|
||||
overriddenSymbolsField,
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user