[IR] Reorder parameters in IrFactory#createProperty
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
cd3237295b
commit
30cd2c3025
+8
-4
@@ -929,16 +929,20 @@ class Fir2IrDeclarationStorage(
|
|||||||
val result = declareIrProperty(signature) { symbol ->
|
val result = declareIrProperty(signature) { symbol ->
|
||||||
classifierStorage.preCacheTypeParameters(property, symbol)
|
classifierStorage.preCacheTypeParameters(property, symbol)
|
||||||
irFactory.createProperty(
|
irFactory.createProperty(
|
||||||
startOffset, endOffset, origin, symbol,
|
startOffset = startOffset,
|
||||||
property.name, components.visibilityConverter.convertToDescriptorVisibility(property.visibility), property.modality!!,
|
endOffset = endOffset,
|
||||||
|
origin = origin,
|
||||||
|
name = property.name,
|
||||||
|
visibility = components.visibilityConverter.convertToDescriptorVisibility(property.visibility),
|
||||||
|
modality = property.modality!!,
|
||||||
|
symbol = symbol,
|
||||||
isVar = property.isVar,
|
isVar = property.isVar,
|
||||||
isConst = property.isConst,
|
isConst = property.isConst,
|
||||||
isLateinit = property.isLateInit,
|
isLateinit = property.isLateInit,
|
||||||
isDelegated = property.delegate != null,
|
isDelegated = property.delegate != null,
|
||||||
isExternal = property.isExternal,
|
isExternal = property.isExternal,
|
||||||
isExpect = property.isExpect,
|
|
||||||
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
|
||||||
containerSource = property.containerSource,
|
containerSource = property.containerSource,
|
||||||
|
isExpect = property.isExpect,
|
||||||
).apply {
|
).apply {
|
||||||
metadata = FirMetadataSource.Property(property)
|
metadata = FirMetadataSource.Property(property)
|
||||||
convertAnnotationsForNonDeclaredMembers(property, origin)
|
convertAnnotationsForNonDeclaredMembers(property, origin)
|
||||||
|
|||||||
+5
-2
@@ -422,16 +422,19 @@ class IrDescriptorBasedFunctionFactory(
|
|||||||
fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty {
|
fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty {
|
||||||
return symbolTable.declareProperty(offset, offset, memberOrigin, descriptor) {
|
return symbolTable.declareProperty(offset, offset, memberOrigin, descriptor) {
|
||||||
irFactory.createProperty(
|
irFactory.createProperty(
|
||||||
offset, offset, memberOrigin, it,
|
startOffset = offset,
|
||||||
|
endOffset = offset,
|
||||||
|
origin = memberOrigin,
|
||||||
name = descriptor.name,
|
name = descriptor.name,
|
||||||
visibility = descriptor.visibility,
|
visibility = descriptor.visibility,
|
||||||
modality = descriptor.modality,
|
modality = descriptor.modality,
|
||||||
|
symbol = it,
|
||||||
isVar = descriptor.isVar,
|
isVar = descriptor.isVar,
|
||||||
isConst = descriptor.isConst,
|
isConst = descriptor.isConst,
|
||||||
isLateinit = descriptor.isLateInit,
|
isLateinit = descriptor.isLateInit,
|
||||||
isDelegated = descriptor.isDelegated,
|
isDelegated = descriptor.isDelegated,
|
||||||
isExternal = descriptor.isEffectivelyExternal(),
|
isExternal = descriptor.isEffectivelyExternal(),
|
||||||
isExpect = descriptor.isExpect
|
isExpect = descriptor.isExpect,
|
||||||
).apply {
|
).apply {
|
||||||
parent = this@addFakeOverrides
|
parent = this@addFakeOverrides
|
||||||
getter = descriptor.getter?.let { g -> createFakeOverrideFunction(g, symbol) }
|
getter = descriptor.getter?.let { g -> createFakeOverrideFunction(g, symbol) }
|
||||||
|
|||||||
+13
-14
@@ -576,20 +576,19 @@ internal class ReflectionReferencesGenerator(statementGenerator: StatementGenera
|
|||||||
val offset = UNDEFINED_OFFSET
|
val offset = UNDEFINED_OFFSET
|
||||||
context.symbolTable.declareProperty(offset, offset, IrDeclarationOrigin.SYNTHETIC_JAVA_PROPERTY_DELEGATE, descriptor) {
|
context.symbolTable.declareProperty(offset, offset, IrDeclarationOrigin.SYNTHETIC_JAVA_PROPERTY_DELEGATE, descriptor) {
|
||||||
context.irFactory.createProperty(
|
context.irFactory.createProperty(
|
||||||
offset,
|
startOffset = offset,
|
||||||
offset,
|
endOffset = offset,
|
||||||
IrDeclarationOrigin.SYNTHETIC_JAVA_PROPERTY_DELEGATE,
|
origin = IrDeclarationOrigin.SYNTHETIC_JAVA_PROPERTY_DELEGATE,
|
||||||
symbol,
|
name = descriptor.name,
|
||||||
descriptor.name,
|
visibility = descriptor.visibility,
|
||||||
descriptor.visibility,
|
modality = descriptor.modality,
|
||||||
descriptor.modality,
|
symbol = symbol,
|
||||||
descriptor.isVar,
|
isVar = descriptor.isVar,
|
||||||
descriptor.isConst,
|
isConst = descriptor.isConst,
|
||||||
descriptor.isLateInit,
|
isLateinit = descriptor.isLateInit,
|
||||||
descriptor.isDelegated,
|
isDelegated = descriptor.isDelegated,
|
||||||
descriptor.isExternal,
|
isExternal = descriptor.isExternal,
|
||||||
descriptor.isExpect,
|
isExpect = descriptor.isExpect,
|
||||||
isFakeOverride = false
|
|
||||||
).also {
|
).also {
|
||||||
it.parent = scope.getLocalDeclarationParent()
|
it.parent = scope.getLocalDeclarationParent()
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-2
@@ -242,16 +242,19 @@ internal class StandaloneDeclarationGenerator(private val context: GeneratorCont
|
|||||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: PropertyDescriptor, symbol: IrPropertySymbol
|
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: PropertyDescriptor, symbol: IrPropertySymbol
|
||||||
): IrProperty {
|
): IrProperty {
|
||||||
val irProperty = irFactory.createProperty(
|
val irProperty = irFactory.createProperty(
|
||||||
startOffset, endOffset, origin, symbol,
|
startOffset = startOffset,
|
||||||
|
endOffset = endOffset,
|
||||||
|
origin = origin,
|
||||||
name = descriptor.name,
|
name = descriptor.name,
|
||||||
visibility = descriptor.visibility,
|
visibility = descriptor.visibility,
|
||||||
modality = descriptor.modality,
|
modality = descriptor.modality,
|
||||||
|
symbol = symbol,
|
||||||
isVar = descriptor.isVar,
|
isVar = descriptor.isVar,
|
||||||
isConst = descriptor.isConst,
|
isConst = descriptor.isConst,
|
||||||
isLateinit = descriptor.isLateInit,
|
isLateinit = descriptor.isLateInit,
|
||||||
isDelegated = false,
|
isDelegated = false,
|
||||||
isExternal = descriptor.isEffectivelyExternal(),
|
isExternal = descriptor.isEffectivelyExternal(),
|
||||||
isExpect = descriptor.isExpect
|
isExpect = descriptor.isExpect,
|
||||||
)
|
)
|
||||||
|
|
||||||
irProperty.metadata = DescriptorMetadataSource.Property(descriptor)
|
irProperty.metadata = DescriptorMetadataSource.Property(descriptor)
|
||||||
|
|||||||
+15
-5
@@ -98,11 +98,21 @@ fun IrClass.addField(
|
|||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal fun IrFactory.buildProperty(builder: IrPropertyBuilder): IrProperty = with(builder) {
|
internal fun IrFactory.buildProperty(builder: IrPropertyBuilder): IrProperty = with(builder) {
|
||||||
createProperty(
|
createProperty(
|
||||||
startOffset, endOffset, origin,
|
startOffset = startOffset,
|
||||||
IrPropertySymbolImpl(),
|
endOffset = endOffset,
|
||||||
name, visibility, modality,
|
origin = origin,
|
||||||
isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, isFakeOverride,
|
name = name,
|
||||||
containerSource,
|
visibility = visibility,
|
||||||
|
modality = modality,
|
||||||
|
symbol = IrPropertySymbolImpl(),
|
||||||
|
isVar = isVar,
|
||||||
|
isConst = isConst,
|
||||||
|
isLateinit = isLateinit,
|
||||||
|
isDelegated = isDelegated,
|
||||||
|
isExternal = isExternal,
|
||||||
|
containerSource = containerSource,
|
||||||
|
isExpect = isExpect,
|
||||||
|
isFakeOverride = isFakeOverride,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -139,18 +139,18 @@ interface IrFactory {
|
|||||||
startOffset: Int,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
symbol: IrPropertySymbol,
|
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: DescriptorVisibility,
|
visibility: DescriptorVisibility,
|
||||||
modality: Modality,
|
modality: Modality,
|
||||||
|
symbol: IrPropertySymbol,
|
||||||
isVar: Boolean,
|
isVar: Boolean,
|
||||||
isConst: Boolean,
|
isConst: Boolean,
|
||||||
isLateinit: Boolean,
|
isLateinit: Boolean,
|
||||||
isDelegated: Boolean,
|
isDelegated: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
|
containerSource: DeserializedContainerSource? = null,
|
||||||
isExpect: Boolean = false,
|
isExpect: Boolean = false,
|
||||||
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE
|
||||||
containerSource: DeserializedContainerSource? = null
|
|
||||||
): IrProperty
|
): IrProperty
|
||||||
|
|
||||||
fun createPropertyWithLateBinding(
|
fun createPropertyWithLateBinding(
|
||||||
|
|||||||
@@ -169,18 +169,18 @@ abstract class AbstractIrFactoryImpl : IrFactory {
|
|||||||
startOffset: Int,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
symbol: IrPropertySymbol,
|
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: DescriptorVisibility,
|
visibility: DescriptorVisibility,
|
||||||
modality: Modality,
|
modality: Modality,
|
||||||
|
symbol: IrPropertySymbol,
|
||||||
isVar: Boolean,
|
isVar: Boolean,
|
||||||
isConst: Boolean,
|
isConst: Boolean,
|
||||||
isLateinit: Boolean,
|
isLateinit: Boolean,
|
||||||
isDelegated: Boolean,
|
isDelegated: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
|
containerSource: DeserializedContainerSource?,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
isFakeOverride: Boolean,
|
isFakeOverride: Boolean,
|
||||||
containerSource: DeserializedContainerSource?,
|
|
||||||
): IrProperty =
|
): IrProperty =
|
||||||
IrPropertyImpl(
|
IrPropertyImpl(
|
||||||
startOffset, endOffset, origin, symbol, name, visibility, modality,
|
startOffset, endOffset, origin, symbol, name, visibility, modality,
|
||||||
|
|||||||
+5
-5
@@ -258,35 +258,35 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
|||||||
startOffset: Int,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
symbol: IrPropertySymbol,
|
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: DescriptorVisibility,
|
visibility: DescriptorVisibility,
|
||||||
modality: Modality,
|
modality: Modality,
|
||||||
|
symbol: IrPropertySymbol,
|
||||||
isVar: Boolean,
|
isVar: Boolean,
|
||||||
isConst: Boolean,
|
isConst: Boolean,
|
||||||
isLateinit: Boolean,
|
isLateinit: Boolean,
|
||||||
isDelegated: Boolean,
|
isDelegated: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
|
containerSource: DeserializedContainerSource?,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
isFakeOverride: Boolean,
|
isFakeOverride: Boolean
|
||||||
containerSource: DeserializedContainerSource?
|
|
||||||
): IrProperty {
|
): IrProperty {
|
||||||
return super.createProperty(
|
return super.createProperty(
|
||||||
startOffset,
|
startOffset,
|
||||||
endOffset,
|
endOffset,
|
||||||
origin,
|
origin,
|
||||||
symbol,
|
|
||||||
name,
|
name,
|
||||||
visibility,
|
visibility,
|
||||||
modality,
|
modality,
|
||||||
|
symbol,
|
||||||
isVar,
|
isVar,
|
||||||
isConst,
|
isConst,
|
||||||
isLateinit,
|
isLateinit,
|
||||||
isDelegated,
|
isDelegated,
|
||||||
isExternal,
|
isExternal,
|
||||||
|
containerSource,
|
||||||
isExpect,
|
isExpect,
|
||||||
isFakeOverride,
|
isFakeOverride,
|
||||||
containerSource,
|
|
||||||
).register()
|
).register()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,24 +147,37 @@ class LazyIrFactory(
|
|||||||
startOffset: Int,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
origin: IrDeclarationOrigin,
|
origin: IrDeclarationOrigin,
|
||||||
symbol: IrPropertySymbol,
|
|
||||||
name: Name,
|
name: Name,
|
||||||
visibility: DescriptorVisibility,
|
visibility: DescriptorVisibility,
|
||||||
modality: Modality,
|
modality: Modality,
|
||||||
|
symbol: IrPropertySymbol,
|
||||||
isVar: Boolean,
|
isVar: Boolean,
|
||||||
isConst: Boolean,
|
isConst: Boolean,
|
||||||
isLateinit: Boolean,
|
isLateinit: Boolean,
|
||||||
isDelegated: Boolean,
|
isDelegated: Boolean,
|
||||||
isExternal: Boolean,
|
isExternal: Boolean,
|
||||||
|
containerSource: DeserializedContainerSource?,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
isFakeOverride: Boolean,
|
isFakeOverride: Boolean
|
||||||
containerSource: DeserializedContainerSource?
|
|
||||||
): IrProperty = if (symbol.isBound)
|
): IrProperty = if (symbol.isBound)
|
||||||
symbol.owner
|
symbol.owner
|
||||||
else
|
else
|
||||||
delegate.createProperty(
|
delegate.createProperty(
|
||||||
startOffset, endOffset, origin, symbol, name, visibility, modality,
|
startOffset,
|
||||||
isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, isFakeOverride, containerSource
|
endOffset,
|
||||||
|
origin,
|
||||||
|
name,
|
||||||
|
visibility,
|
||||||
|
modality,
|
||||||
|
symbol,
|
||||||
|
isVar,
|
||||||
|
isConst,
|
||||||
|
isLateinit,
|
||||||
|
isDelegated,
|
||||||
|
isExternal,
|
||||||
|
containerSource,
|
||||||
|
isExpect,
|
||||||
|
isFakeOverride,
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun createTypeAlias(
|
override fun createTypeAlias(
|
||||||
|
|||||||
@@ -235,19 +235,20 @@ open class DeepCopyIrTreeWithSymbols(
|
|||||||
|
|
||||||
override fun visitProperty(declaration: IrProperty): IrProperty =
|
override fun visitProperty(declaration: IrProperty): IrProperty =
|
||||||
declaration.factory.createProperty(
|
declaration.factory.createProperty(
|
||||||
declaration.startOffset, declaration.endOffset,
|
startOffset = declaration.startOffset,
|
||||||
mapDeclarationOrigin(declaration.origin),
|
endOffset = declaration.endOffset,
|
||||||
symbolRemapper.getDeclaredProperty(declaration.symbol),
|
origin = mapDeclarationOrigin(declaration.origin),
|
||||||
declaration.name,
|
name = declaration.name,
|
||||||
declaration.visibility,
|
visibility = declaration.visibility,
|
||||||
declaration.modality,
|
modality = declaration.modality,
|
||||||
|
symbol = symbolRemapper.getDeclaredProperty(declaration.symbol),
|
||||||
isVar = declaration.isVar,
|
isVar = declaration.isVar,
|
||||||
isConst = declaration.isConst,
|
isConst = declaration.isConst,
|
||||||
isLateinit = declaration.isLateinit,
|
isLateinit = declaration.isLateinit,
|
||||||
isDelegated = declaration.isDelegated,
|
isDelegated = declaration.isDelegated,
|
||||||
isExternal = declaration.isExternal,
|
isExternal = declaration.isExternal,
|
||||||
isExpect = declaration.isExpect,
|
|
||||||
containerSource = declaration.containerSource,
|
containerSource = declaration.containerSource,
|
||||||
|
isExpect = declaration.isExpect,
|
||||||
).apply {
|
).apply {
|
||||||
transformAnnotations(declaration)
|
transformAnnotations(declaration)
|
||||||
copyAttributes(declaration)
|
copyAttributes(declaration)
|
||||||
|
|||||||
@@ -798,16 +798,20 @@ open class SymbolTable(
|
|||||||
isDelegated: Boolean = descriptor.isDelegated,
|
isDelegated: Boolean = descriptor.isDelegated,
|
||||||
propertyFactory: (IrPropertySymbol) -> IrProperty = { symbol ->
|
propertyFactory: (IrPropertySymbol) -> IrProperty = { symbol ->
|
||||||
irFactory.createProperty(
|
irFactory.createProperty(
|
||||||
startOffset, endOffset, origin, symbol, name = nameProvider.nameForDeclaration(descriptor),
|
startOffset = startOffset,
|
||||||
|
endOffset = endOffset,
|
||||||
|
origin = origin,
|
||||||
|
name = nameProvider.nameForDeclaration(descriptor),
|
||||||
visibility = descriptor.visibility,
|
visibility = descriptor.visibility,
|
||||||
modality = descriptor.modality,
|
modality = descriptor.modality,
|
||||||
|
symbol = symbol,
|
||||||
isVar = descriptor.isVar,
|
isVar = descriptor.isVar,
|
||||||
isConst = descriptor.isConst,
|
isConst = descriptor.isConst,
|
||||||
isLateinit = descriptor.isLateInit,
|
isLateinit = descriptor.isLateInit,
|
||||||
isDelegated = isDelegated,
|
isDelegated = isDelegated,
|
||||||
isExternal = descriptor.isEffectivelyExternal(),
|
isExternal = descriptor.isEffectivelyExternal(),
|
||||||
isExpect = descriptor.isExpect,
|
isExpect = descriptor.isExpect,
|
||||||
isFakeOverride = descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE
|
isFakeOverride = descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE,
|
||||||
).apply {
|
).apply {
|
||||||
metadata = DescriptorMetadataSource.Property(symbol.descriptor)
|
metadata = DescriptorMetadataSource.Property(symbol.descriptor)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -121,10 +121,10 @@ internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns)
|
|||||||
startOffset = UNDEFINED_OFFSET,
|
startOffset = UNDEFINED_OFFSET,
|
||||||
endOffset = UNDEFINED_OFFSET,
|
endOffset = UNDEFINED_OFFSET,
|
||||||
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
|
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
|
||||||
symbol = symbol,
|
|
||||||
name = symbol.guessName(),
|
name = symbol.guessName(),
|
||||||
visibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
|
visibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
|
||||||
modality = Modality.FINAL,
|
modality = Modality.FINAL,
|
||||||
|
symbol = symbol,
|
||||||
isVar = false,
|
isVar = false,
|
||||||
isConst = false,
|
isConst = false,
|
||||||
isLateinit = false,
|
isLateinit = false,
|
||||||
|
|||||||
+14
-12
@@ -753,18 +753,20 @@ class IrDeclarationDeserializer(
|
|||||||
val propertySymbol: IrPropertySymbol = symbol.checkSymbolType(PROPERTY_SYMBOL)
|
val propertySymbol: IrPropertySymbol = symbol.checkSymbolType(PROPERTY_SYMBOL)
|
||||||
val prop = symbolTable.declareProperty(uniqId, { propertySymbol }) {
|
val prop = symbolTable.declareProperty(uniqId, { propertySymbol }) {
|
||||||
irFactory.createProperty(
|
irFactory.createProperty(
|
||||||
startOffset, endOffset, origin,
|
startOffset = startOffset,
|
||||||
it,
|
endOffset = endOffset,
|
||||||
deserializeName(proto.name),
|
origin = origin,
|
||||||
flags.visibility,
|
name = deserializeName(proto.name),
|
||||||
flags.modality,
|
visibility = flags.visibility,
|
||||||
flags.isVar,
|
modality = flags.modality,
|
||||||
flags.isConst,
|
symbol = it,
|
||||||
flags.isLateinit,
|
isVar = flags.isVar,
|
||||||
flags.isDelegated,
|
isConst = flags.isConst,
|
||||||
flags.isExternal || isEffectivelyExternal,
|
isLateinit = flags.isLateinit,
|
||||||
flags.isExpect,
|
isDelegated = flags.isDelegated,
|
||||||
flags.isFakeOverride
|
isExternal = flags.isExternal || isEffectivelyExternal,
|
||||||
|
isExpect = flags.isExpect,
|
||||||
|
isFakeOverride = flags.isFakeOverride,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user