[IR] Reorder parameters in IrFactory#createTypeAlias
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
26a479918b
commit
b1f7b5e982
@@ -311,10 +311,14 @@ class Fir2IrClassifierStorage(
|
||||
declareIrTypeAlias(signature) { symbol ->
|
||||
preCacheTypeParameters(typeAlias, symbol)
|
||||
val irTypeAlias = irFactory.createTypeAlias(
|
||||
startOffset, endOffset, symbol,
|
||||
typeAlias.name, components.visibilityConverter.convertToDescriptorVisibility(typeAlias.visibility),
|
||||
typeAlias.expandedTypeRef.toIrType(),
|
||||
typeAlias.isActual, IrDeclarationOrigin.DEFINED
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = IrDeclarationOrigin.DEFINED,
|
||||
name = typeAlias.name,
|
||||
visibility = components.visibilityConverter.convertToDescriptorVisibility(typeAlias.visibility),
|
||||
symbol = symbol,
|
||||
isActual = typeAlias.isActual,
|
||||
expandedType = typeAlias.expandedTypeRef.toIrType(),
|
||||
).apply {
|
||||
this.parent = parent
|
||||
setTypeParameters(typeAlias)
|
||||
|
||||
+8
-2
@@ -111,8 +111,14 @@ class DeclarationGenerator(override val context: GeneratorContext) : Generator {
|
||||
with(getOrFail(BindingContext.TYPE_ALIAS, ktTypeAlias)) {
|
||||
context.symbolTable.declareTypeAlias(this) { symbol ->
|
||||
context.irFactory.createTypeAlias(
|
||||
ktTypeAlias.startOffsetSkippingComments, ktTypeAlias.endOffset, symbol,
|
||||
name, visibility, expandedType.toIrType(), isActual, IrDeclarationOrigin.DEFINED
|
||||
startOffset = ktTypeAlias.startOffsetSkippingComments,
|
||||
endOffset = ktTypeAlias.endOffset,
|
||||
origin = IrDeclarationOrigin.DEFINED,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
symbol = symbol,
|
||||
isActual = isActual,
|
||||
expandedType = expandedType.toIrType()
|
||||
)
|
||||
}.also {
|
||||
generateGlobalTypeParametersDeclarations(it, declaredTypeParameters)
|
||||
|
||||
+8
-1
@@ -120,7 +120,14 @@ internal class StandaloneDeclarationGenerator(private val context: GeneratorCont
|
||||
symbol: IrTypeAliasSymbol
|
||||
): IrTypeAlias = with(descriptor) {
|
||||
irFactory.createTypeAlias(
|
||||
startOffset, endOffset, symbol, name, visibility, expandedType.toIrType(), isActual, origin
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
symbol = symbol,
|
||||
isActual = isActual,
|
||||
expandedType = expandedType.toIrType()
|
||||
).also {
|
||||
generateGlobalTypeParametersDeclarations(it, declaredTypeParameters)
|
||||
}
|
||||
|
||||
@@ -171,12 +171,12 @@ interface IrFactory {
|
||||
fun createTypeAlias(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
expandedType: IrType,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
isActual: Boolean,
|
||||
origin: IrDeclarationOrigin,
|
||||
expandedType: IrType,
|
||||
): IrTypeAlias
|
||||
|
||||
fun createTypeParameter(
|
||||
|
||||
@@ -211,12 +211,12 @@ abstract class AbstractIrFactoryImpl : IrFactory {
|
||||
override fun createTypeAlias(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
expandedType: IrType,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
isActual: Boolean,
|
||||
origin: IrDeclarationOrigin,
|
||||
expandedType: IrType,
|
||||
): IrTypeAlias =
|
||||
IrTypeAliasImpl(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin, factory = this)
|
||||
|
||||
|
||||
+6
-6
@@ -323,22 +323,22 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
||||
override fun createTypeAlias(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
expandedType: IrType,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
isActual: Boolean,
|
||||
origin: IrDeclarationOrigin
|
||||
expandedType: IrType
|
||||
): IrTypeAlias {
|
||||
return super.createTypeAlias(
|
||||
startOffset,
|
||||
endOffset,
|
||||
symbol,
|
||||
origin,
|
||||
name,
|
||||
visibility,
|
||||
expandedType,
|
||||
symbol,
|
||||
isActual,
|
||||
origin,
|
||||
expandedType,
|
||||
).register()
|
||||
}
|
||||
|
||||
|
||||
@@ -170,16 +170,16 @@ class LazyIrFactory(
|
||||
override fun createTypeAlias(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
expandedType: IrType,
|
||||
symbol: IrTypeAliasSymbol,
|
||||
isActual: Boolean,
|
||||
origin: IrDeclarationOrigin
|
||||
expandedType: IrType
|
||||
): IrTypeAlias = if (symbol.isBound)
|
||||
symbol.owner
|
||||
else
|
||||
delegate.createTypeAlias(startOffset, endOffset, symbol, name, visibility, expandedType, isActual, origin)
|
||||
delegate.createTypeAlias(startOffset, endOffset, origin, name, visibility, symbol, isActual, expandedType)
|
||||
|
||||
override fun createTypeParameter(
|
||||
startOffset: Int,
|
||||
|
||||
@@ -387,13 +387,14 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
|
||||
override fun visitTypeAlias(declaration: IrTypeAlias): IrTypeAlias =
|
||||
declaration.factory.createTypeAlias(
|
||||
declaration.startOffset, declaration.endOffset,
|
||||
symbolRemapper.getDeclaredTypeAlias(declaration.symbol),
|
||||
symbolRenamer.getTypeAliasName(declaration.symbol),
|
||||
declaration.visibility,
|
||||
declaration.expandedType.remapType(),
|
||||
declaration.isActual,
|
||||
mapDeclarationOrigin(declaration.origin)
|
||||
startOffset = declaration.startOffset,
|
||||
endOffset = declaration.endOffset,
|
||||
origin = mapDeclarationOrigin(declaration.origin),
|
||||
name = symbolRenamer.getTypeAliasName(declaration.symbol),
|
||||
visibility = declaration.visibility,
|
||||
symbol = symbolRemapper.getDeclaredTypeAlias(declaration.symbol),
|
||||
isActual = declaration.isActual,
|
||||
expandedType = declaration.expandedType.remapType(),
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
copyTypeParametersFrom(declaration)
|
||||
|
||||
+3
-3
@@ -148,12 +148,12 @@ internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns)
|
||||
return builtIns.irFactory.createTypeAlias(
|
||||
startOffset = UNDEFINED_OFFSET,
|
||||
endOffset = UNDEFINED_OFFSET,
|
||||
symbol = symbol,
|
||||
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
|
||||
name = symbol.guessName(),
|
||||
visibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
|
||||
expandedType = builtIns.nothingType,
|
||||
symbol = symbol,
|
||||
isActual = true,
|
||||
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
|
||||
expandedType = builtIns.nothingType,
|
||||
).setCommonParent()
|
||||
}
|
||||
|
||||
|
||||
+8
-7
@@ -433,13 +433,14 @@ class IrDeclarationDeserializer(
|
||||
val flags = TypeAliasFlags.decode(fcode)
|
||||
val nameType = BinaryNameAndType.decode(proto.nameType)
|
||||
irFactory.createTypeAlias(
|
||||
startOffset, endOffset,
|
||||
it,
|
||||
deserializeName(nameType.nameIndex),
|
||||
flags.visibility,
|
||||
deserializeIrType(nameType.typeIndex),
|
||||
flags.isActual,
|
||||
origin
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = deserializeName(nameType.nameIndex),
|
||||
visibility = flags.visibility,
|
||||
symbol = it,
|
||||
isActual = flags.isActual,
|
||||
expandedType = deserializeIrType(nameType.typeIndex),
|
||||
)
|
||||
}.usingParent {
|
||||
typeParameters = deserializeTypeParameters(proto.typeParameterList, true)
|
||||
|
||||
Reference in New Issue
Block a user