[IR] Reorder parameters in IrFactory#createClass
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
bfb314adcb
commit
f46761a241
+15
-4
@@ -27,10 +27,21 @@ import org.jetbrains.kotlin.types.Variance
|
||||
@PublishedApi
|
||||
internal fun IrFactory.buildClass(builder: IrClassBuilder): IrClass = with(builder) {
|
||||
createClass(
|
||||
startOffset, endOffset, origin,
|
||||
IrClassSymbolImpl(),
|
||||
name, kind, visibility, modality,
|
||||
isCompanion, isInner, isData, isExternal, isValue, isExpect, isFun
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
symbol = IrClassSymbolImpl(),
|
||||
kind = kind,
|
||||
modality = modality,
|
||||
isExternal = isExternal,
|
||||
isCompanion = isCompanion,
|
||||
isInner = isInner,
|
||||
isData = isData,
|
||||
isValue = isValue,
|
||||
isExpect = isExpect,
|
||||
isFun = isFun,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -31,15 +31,15 @@ interface IrFactory {
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
name: Name,
|
||||
kind: ClassKind,
|
||||
visibility: DescriptorVisibility,
|
||||
symbol: IrClassSymbol,
|
||||
kind: ClassKind,
|
||||
modality: Modality,
|
||||
isExternal: Boolean = false,
|
||||
isCompanion: Boolean = false,
|
||||
isInner: Boolean = false,
|
||||
isData: Boolean = false,
|
||||
isExternal: Boolean = false,
|
||||
isValue: Boolean = false,
|
||||
isExpect: Boolean = false,
|
||||
isFun: Boolean = false,
|
||||
|
||||
@@ -38,15 +38,15 @@ abstract class AbstractIrFactoryImpl : IrFactory {
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
name: Name,
|
||||
kind: ClassKind,
|
||||
visibility: DescriptorVisibility,
|
||||
symbol: IrClassSymbol,
|
||||
kind: ClassKind,
|
||||
modality: Modality,
|
||||
isExternal: Boolean,
|
||||
isCompanion: Boolean,
|
||||
isInner: Boolean,
|
||||
isData: Boolean,
|
||||
isExternal: Boolean,
|
||||
isValue: Boolean,
|
||||
isExpect: Boolean,
|
||||
isFun: Boolean,
|
||||
|
||||
+6
-6
@@ -50,15 +50,15 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
name: Name,
|
||||
kind: ClassKind,
|
||||
visibility: DescriptorVisibility,
|
||||
symbol: IrClassSymbol,
|
||||
kind: ClassKind,
|
||||
modality: Modality,
|
||||
isExternal: Boolean,
|
||||
isCompanion: Boolean,
|
||||
isInner: Boolean,
|
||||
isData: Boolean,
|
||||
isExternal: Boolean,
|
||||
isValue: Boolean,
|
||||
isExpect: Boolean,
|
||||
isFun: Boolean,
|
||||
@@ -68,15 +68,15 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
||||
startOffset,
|
||||
endOffset,
|
||||
origin,
|
||||
symbol,
|
||||
name,
|
||||
kind,
|
||||
visibility,
|
||||
symbol,
|
||||
kind,
|
||||
modality,
|
||||
isExternal,
|
||||
isCompanion,
|
||||
isInner,
|
||||
isData,
|
||||
isExternal,
|
||||
isValue,
|
||||
isExpect,
|
||||
isFun,
|
||||
|
||||
@@ -24,15 +24,15 @@ class LazyIrFactory(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
name: Name,
|
||||
kind: ClassKind,
|
||||
visibility: DescriptorVisibility,
|
||||
symbol: IrClassSymbol,
|
||||
kind: ClassKind,
|
||||
modality: Modality,
|
||||
isExternal: Boolean,
|
||||
isCompanion: Boolean,
|
||||
isInner: Boolean,
|
||||
isData: Boolean,
|
||||
isExternal: Boolean,
|
||||
isValue: Boolean,
|
||||
isExpect: Boolean,
|
||||
isFun: Boolean,
|
||||
@@ -41,8 +41,22 @@ class LazyIrFactory(
|
||||
symbol.owner
|
||||
else
|
||||
delegate.createClass(
|
||||
startOffset, endOffset, origin, symbol, name, kind, visibility, modality,
|
||||
isCompanion, isInner, isData, isExternal, isValue, isExpect, isFun, source
|
||||
startOffset,
|
||||
endOffset,
|
||||
origin,
|
||||
name,
|
||||
visibility,
|
||||
symbol,
|
||||
kind,
|
||||
modality,
|
||||
isExternal,
|
||||
isCompanion,
|
||||
isInner,
|
||||
isData,
|
||||
isValue,
|
||||
isExpect,
|
||||
isFun,
|
||||
source,
|
||||
)
|
||||
|
||||
override fun createConstructor(
|
||||
|
||||
@@ -141,20 +141,21 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
|
||||
override fun visitClass(declaration: IrClass): IrClass =
|
||||
declaration.factory.createClass(
|
||||
declaration.startOffset, declaration.endOffset,
|
||||
mapDeclarationOrigin(declaration.origin),
|
||||
symbolRemapper.getDeclaredClass(declaration.symbol),
|
||||
symbolRenamer.getClassName(declaration.symbol),
|
||||
declaration.kind,
|
||||
declaration.visibility,
|
||||
declaration.modality,
|
||||
startOffset = declaration.startOffset,
|
||||
endOffset = declaration.endOffset,
|
||||
origin = mapDeclarationOrigin(declaration.origin),
|
||||
name = symbolRenamer.getClassName(declaration.symbol),
|
||||
visibility = declaration.visibility,
|
||||
symbol = symbolRemapper.getDeclaredClass(declaration.symbol),
|
||||
kind = declaration.kind,
|
||||
modality = declaration.modality,
|
||||
isExternal = declaration.isExternal,
|
||||
isCompanion = declaration.isCompanion,
|
||||
isInner = declaration.isInner,
|
||||
isData = declaration.isData,
|
||||
isExternal = declaration.isExternal,
|
||||
isValue = declaration.isValue,
|
||||
isExpect = declaration.isExpect,
|
||||
isFun = declaration.isFun
|
||||
isFun = declaration.isFun,
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
copyTypeParametersFrom(declaration)
|
||||
|
||||
@@ -37,7 +37,20 @@ fun IrFactory.createIrClassFromDescriptor(
|
||||
visibility: DescriptorVisibility = descriptor.visibility,
|
||||
modality: Modality = descriptor.modality
|
||||
): IrClass = createClass(
|
||||
startOffset, endOffset, origin, symbol, name, descriptor.kind, visibility, modality,
|
||||
descriptor.isCompanionObject, descriptor.isInner, descriptor.isData, descriptor.isEffectivelyExternal(),
|
||||
descriptor.isValueClass(), descriptor.isExpect, descriptor.isFun, descriptor.source
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
symbol = symbol,
|
||||
kind = descriptor.kind,
|
||||
modality = modality,
|
||||
isExternal = descriptor.isEffectivelyExternal(),
|
||||
isCompanion = descriptor.isCompanionObject,
|
||||
isInner = descriptor.isInner,
|
||||
isData = descriptor.isData,
|
||||
isValue = descriptor.isValueClass(),
|
||||
isExpect = descriptor.isExpect,
|
||||
isFun = descriptor.isFun,
|
||||
source = descriptor.source,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user