[IR] Reorder parameters in IrFactory#createEnumEntry
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
685eee38ac
commit
c2fde1a915
@@ -553,7 +553,11 @@ class Fir2IrClassifierStorage(
|
||||
val result = declareIrEnumEntry(signature) { symbol ->
|
||||
val origin = enumEntry.computeIrOrigin(predefinedOrigin)
|
||||
irFactory.createEnumEntry(
|
||||
startOffset, endOffset, origin, symbol, enumEntry.name
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = enumEntry.name,
|
||||
symbol = symbol,
|
||||
).apply {
|
||||
declarationStorage.enterScope(this)
|
||||
if (irParent != null) {
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ internal class StandaloneDeclarationGenerator(private val context: GeneratorCont
|
||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor, symbol: IrEnumEntrySymbol
|
||||
): IrEnumEntry {
|
||||
// TODO: corresponging class?
|
||||
val irEntry = irFactory.createEnumEntry(startOffset, endOffset, origin, symbol, descriptor.name)
|
||||
val irEntry = irFactory.createEnumEntry(startOffset, endOffset, origin, descriptor.name, symbol)
|
||||
|
||||
return irEntry
|
||||
}
|
||||
|
||||
@@ -65,8 +65,8 @@ interface IrFactory {
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
name: Name,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
): IrEnumEntry
|
||||
|
||||
fun createErrorDeclaration(
|
||||
|
||||
@@ -81,8 +81,8 @@ abstract class AbstractIrFactoryImpl : IrFactory {
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
name: Name,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
): IrEnumEntry =
|
||||
IrEnumEntryImpl(startOffset, endOffset, origin, symbol, name, factory = this)
|
||||
|
||||
|
||||
+3
-3
@@ -118,15 +118,15 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
name: Name
|
||||
name: Name,
|
||||
symbol: IrEnumEntrySymbol
|
||||
): IrEnumEntry {
|
||||
return super.createEnumEntry(
|
||||
startOffset,
|
||||
endOffset,
|
||||
origin,
|
||||
symbol,
|
||||
name,
|
||||
symbol,
|
||||
).register()
|
||||
}
|
||||
|
||||
|
||||
@@ -70,12 +70,12 @@ class LazyIrFactory(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrEnumEntrySymbol,
|
||||
name: Name
|
||||
name: Name,
|
||||
symbol: IrEnumEntrySymbol
|
||||
): IrEnumEntry = if (symbol.isBound)
|
||||
symbol.owner
|
||||
else
|
||||
delegate.createEnumEntry(startOffset, endOffset, origin, symbol, name)
|
||||
delegate.createEnumEntry(startOffset, endOffset, origin, name, symbol)
|
||||
|
||||
override fun createField(
|
||||
startOffset: Int,
|
||||
|
||||
@@ -295,10 +295,11 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
|
||||
override fun visitEnumEntry(declaration: IrEnumEntry): IrEnumEntry =
|
||||
declaration.factory.createEnumEntry(
|
||||
declaration.startOffset, declaration.endOffset,
|
||||
mapDeclarationOrigin(declaration.origin),
|
||||
symbolRemapper.getDeclaredEnumEntry(declaration.symbol),
|
||||
symbolRenamer.getEnumEntryName(declaration.symbol)
|
||||
startOffset = declaration.startOffset,
|
||||
endOffset = declaration.endOffset,
|
||||
origin = mapDeclarationOrigin(declaration.origin),
|
||||
name = symbolRenamer.getEnumEntryName(declaration.symbol),
|
||||
symbol = symbolRemapper.getDeclaredEnumEntry(declaration.symbol),
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
correspondingClass = declaration.correspondingClass?.transform()
|
||||
|
||||
@@ -654,7 +654,7 @@ open class SymbolTable(
|
||||
fun declareEnumEntry(
|
||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor,
|
||||
factory: (IrEnumEntrySymbol) -> IrEnumEntry = {
|
||||
irFactory.createEnumEntry(startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(descriptor))
|
||||
irFactory.createEnumEntry(startOffset, endOffset, origin, nameProvider.nameForDeclaration(descriptor), it)
|
||||
}
|
||||
): IrEnumEntry =
|
||||
enumEntrySymbolTable.declare(
|
||||
|
||||
+1
-1
@@ -139,8 +139,8 @@ internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns)
|
||||
startOffset = UNDEFINED_OFFSET,
|
||||
endOffset = UNDEFINED_OFFSET,
|
||||
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
|
||||
name = symbol.guessName(),
|
||||
symbol = symbol,
|
||||
name = symbol.guessName()
|
||||
).setCommonParent()
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -629,7 +629,7 @@ class IrDeclarationDeserializer(
|
||||
private fun deserializeIrEnumEntry(proto: ProtoEnumEntry, setParent: Boolean = true): IrEnumEntry =
|
||||
withDeserializedIrDeclarationBase(proto.base, setParent) { symbol, uniqId, startOffset, endOffset, origin, _ ->
|
||||
symbolTable.declareEnumEntry(uniqId, { symbol.checkSymbolType(ENUM_ENTRY_SYMBOL) }) {
|
||||
irFactory.createEnumEntry(startOffset, endOffset, origin, it, deserializeName(proto.name))
|
||||
irFactory.createEnumEntry(startOffset, endOffset, origin, deserializeName(proto.name), it)
|
||||
}.apply {
|
||||
if (proto.hasCorrespondingClass())
|
||||
correspondingClass = deserializeIrClass(proto.correspondingClass)
|
||||
|
||||
Reference in New Issue
Block a user