JS PIR: store signatures for lowered declarations inside PIR declarations
This commit is contained in:
committed by
Anton Bannykh
parent
e0bdabcf61
commit
bd4e7ffef8
+3
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrAnonymousInitializerSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrAnonymousInitializerSymbol
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
|
|
||||||
@@ -33,6 +34,8 @@ internal class PersistentIrAnonymousInitializer(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrSimpleType
|
import org.jetbrains.kotlin.ir.types.IrSimpleType
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -60,6 +61,8 @@ internal class PersistentIrClass(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
|||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||||
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
|
|
||||||
@@ -51,6 +52,8 @@ internal class PersistentIrConstructor(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol
|
import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -36,6 +37,8 @@ internal class PersistentIrEnumEntry(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.Carrier
|
|||||||
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorDeclarationCarrier
|
import org.jetbrains.kotlin.ir.declarations.persistent.carriers.ErrorDeclarationCarrier
|
||||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
|
|
||||||
@@ -29,6 +30,8 @@ internal class PersistentIrErrorDeclaration(
|
|||||||
override val descriptor: DeclarationDescriptor
|
override val descriptor: DeclarationDescriptor
|
||||||
get() = _descriptor ?: this.toIrBasedDescriptor()
|
get() = _descriptor ?: this.toIrBasedDescriptor()
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -43,6 +44,8 @@ internal class PersistentIrField(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
|||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||||
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
|
|
||||||
@@ -49,6 +50,8 @@ internal abstract class PersistentIrFunctionCommon(
|
|||||||
PersistentIrDeclarationBase<FunctionCarrier>,
|
PersistentIrDeclarationBase<FunctionCarrier>,
|
||||||
FunctionCarrier {
|
FunctionCarrier {
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrLocalDelegatedPropertySymbol
|
import org.jetbrains.kotlin.ir.symbols.IrLocalDelegatedPropertySymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -41,6 +42,8 @@ internal class PersistentIrLocalDelegatedProperty(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
|
|
||||||
@@ -42,6 +43,8 @@ internal abstract class PersistentIrPropertyCommon(
|
|||||||
PersistentIrDeclarationBase<PropertyCarrier>,
|
PersistentIrDeclarationBase<PropertyCarrier>,
|
||||||
PropertyCarrier {
|
PropertyCarrier {
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrTypeAliasSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrTypeAliasSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -40,6 +41,8 @@ internal class PersistentIrTypeAlias(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.TypeParameterCar
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
|
|
||||||
@@ -38,6 +39,8 @@ internal class PersistentIrTypeParameter(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+3
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
// Auto-generated by compiler/ir/ir.tree.persistent/generator/src/org/jetbrains/kotlin/ir/persistentIrGenerator/Main.kt. DO NOT EDIT!
|
||||||
@@ -46,6 +47,8 @@ internal class PersistentIrValueParameter(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var signature: IdSignature? = factory.currentSignature(this)
|
||||||
|
|
||||||
override var lastModified: Int = factory.stageController.currentStage
|
override var lastModified: Int = factory.stageController.currentStage
|
||||||
override var loweredUpTo: Int = factory.stageController.currentStage
|
override var loweredUpTo: Int = factory.stageController.currentStage
|
||||||
override var values: Array<Carrier>? = null
|
override var values: Array<Carrier>? = null
|
||||||
|
|||||||
+2
@@ -24,6 +24,8 @@ internal fun PersistentIrGenerator.generateErrorDeclaration() {
|
|||||||
+" get() = _descriptor ?: this." + import("toIrBasedDescriptor", "org.jetbrains.kotlin.ir.descriptors") + "()"
|
+" get() = _descriptor ?: this." + import("toIrBasedDescriptor", "org.jetbrains.kotlin.ir.descriptors") + "()"
|
||||||
),
|
),
|
||||||
id,
|
id,
|
||||||
|
signature,
|
||||||
|
id,
|
||||||
lastModified,
|
lastModified,
|
||||||
loweredUpTo,
|
loweredUpTo,
|
||||||
values,
|
values,
|
||||||
|
|||||||
+6
@@ -97,6 +97,8 @@ internal object PersistentIrGenerator {
|
|||||||
val IrValueParameterSymbol = irSymbol("IrValueParameterSymbol")
|
val IrValueParameterSymbol = irSymbol("IrValueParameterSymbol")
|
||||||
val IrTypeParameterSymbol = irSymbol("IrTypeParameterSymbol")
|
val IrTypeParameterSymbol = irSymbol("IrTypeParameterSymbol")
|
||||||
|
|
||||||
|
val IdSignature = import("IdSignature", "org.jetbrains.kotlin.ir.util")
|
||||||
|
|
||||||
// Constructor parameters
|
// Constructor parameters
|
||||||
|
|
||||||
val startOffset = +"override val startOffset: Int"
|
val startOffset = +"override val startOffset: Int"
|
||||||
@@ -196,6 +198,8 @@ internal object PersistentIrGenerator {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Fields
|
// Fields
|
||||||
|
val signature = +"override var signature: " + IdSignature + "? = factory.currentSignature(this)"
|
||||||
|
|
||||||
val lastModified = +"override var lastModified: Int = factory.stageController.currentStage"
|
val lastModified = +"override var lastModified: Int = factory.stageController.currentStage"
|
||||||
val loweredUpTo = +"override var loweredUpTo: Int = factory.stageController.currentStage"
|
val loweredUpTo = +"override var loweredUpTo: Int = factory.stageController.currentStage"
|
||||||
val values = +"override var values: Array<" + Carrier + ">? = null"
|
val values = +"override var values: Array<" + Carrier + ">? = null"
|
||||||
@@ -207,6 +211,8 @@ internal object PersistentIrGenerator {
|
|||||||
val annotationsField = +"override var annotationsField: List<" + IrConstructorCall + "> = emptyList()"
|
val annotationsField = +"override var annotationsField: List<" + IrConstructorCall + "> = emptyList()"
|
||||||
|
|
||||||
val commonFields = lines(
|
val commonFields = lines(
|
||||||
|
signature,
|
||||||
|
id,
|
||||||
lastModified,
|
lastModified,
|
||||||
loweredUpTo,
|
loweredUpTo,
|
||||||
values,
|
values,
|
||||||
|
|||||||
+3
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.ir.declarations.persistent.carriers.DeclarationCarri
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||||
|
|
||||||
interface PersistentIrDeclarationBase<T : DeclarationCarrier> : PersistentIrElementBase<T>, IrDeclaration, DeclarationCarrier {
|
interface PersistentIrDeclarationBase<T : DeclarationCarrier> : PersistentIrElementBase<T>, IrDeclaration, DeclarationCarrier {
|
||||||
@@ -32,6 +33,8 @@ interface PersistentIrDeclarationBase<T : DeclarationCarrier> : PersistentIrElem
|
|||||||
|
|
||||||
override var annotationsField: List<IrConstructorCall>
|
override var annotationsField: List<IrConstructorCall>
|
||||||
|
|
||||||
|
var signature: IdSignature?
|
||||||
|
|
||||||
// TODO reduce boilerplate
|
// TODO reduce boilerplate
|
||||||
override var parent: IrDeclarationParent
|
override var parent: IrDeclarationParent
|
||||||
get() = getCarrier().parentField ?: throw UninitializedPropertyAccessException("Parent not initialized: $this")
|
get() = getCarrier().parentField ?: throw UninitializedPropertyAccessException("Parent not initialized: $this")
|
||||||
|
|||||||
+4
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.expressions.persistent.PersistentIrBlockBody
|
|||||||
import org.jetbrains.kotlin.ir.expressions.persistent.PersistentIrExpressionBody
|
import org.jetbrains.kotlin.ir.expressions.persistent.PersistentIrExpressionBody
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
@@ -23,6 +24,9 @@ class PersistentIrFactory : IrFactory {
|
|||||||
|
|
||||||
override var stageController = StageController()
|
override var stageController = StageController()
|
||||||
|
|
||||||
|
@Suppress("UNUSED_PARAMETER")
|
||||||
|
fun currentSignature(declaration: IrDeclaration): IdSignature? = null
|
||||||
|
|
||||||
override fun createAnonymousInitializer(
|
override fun createAnonymousInitializer(
|
||||||
startOffset: Int,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.declarations
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.ir.IrElement
|
import org.jetbrains.kotlin.ir.IrElement
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||||
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
|
|
||||||
open class StageController(open val currentStage: Int = 0) {
|
open class StageController(open val currentStage: Int = 0) {
|
||||||
open fun lazyLower(declaration: IrDeclaration) {}
|
open fun lazyLower(declaration: IrDeclaration) {}
|
||||||
@@ -28,4 +29,7 @@ open class StageController(open val currentStage: Int = 0) {
|
|||||||
open fun <T> unrestrictDeclarationListsAccess(fn: () -> T): T = fn()
|
open fun <T> unrestrictDeclarationListsAccess(fn: () -> T): T = fn()
|
||||||
|
|
||||||
open fun canAccessDeclarationsOf(irClass: IrClass): Boolean = true
|
open fun canAccessDeclarationsOf(irClass: IrClass): Boolean = true
|
||||||
|
|
||||||
|
// Used in JS IC. Declarations created during lowerings need meaningful signatures.
|
||||||
|
open fun createSignature(parentSignature: IdSignature): IdSignature? = null
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user