Move fields and init blocks of companions to their owners
This commit is contained in:
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.symbols.IrAnonymousInitializerSymbol
|
||||
|
||||
interface IrAnonymousInitializer : IrSymbolDeclaration<IrAnonymousInitializerSymbol> {
|
||||
override val descriptor: ClassDescriptor // TODO special descriptor for anonymous initializer blocks
|
||||
val isStatic: Boolean
|
||||
|
||||
var body: IrBlockBody
|
||||
}
|
||||
|
||||
@@ -38,6 +38,10 @@ interface IrDeclarationOrigin {
|
||||
object IR_EXTERNAL_DECLARATION_STUB : IrDeclarationOriginImpl("IR_EXTERNAL_DECLARATION_STUB")
|
||||
object IR_BUILTINS_STUB : IrDeclarationOriginImpl("IR_BUILTINS_STUB")
|
||||
object BRIDGE : IrDeclarationOriginImpl("BRIDGE")
|
||||
|
||||
object FIELD_FOR_ENUM_ENTRY : IrDeclarationOriginImpl("FIELD_FOR_ENUM_ENTRY")
|
||||
object FIELD_FOR_ENUM_VALUES : IrDeclarationOriginImpl("FIELD_FOR_ENUM_VALUES")
|
||||
object FIELD_FOR_OBJECT_INSTANCE : IrDeclarationOriginImpl("FIELD_FOR_OBJECT_INSTANCE")
|
||||
}
|
||||
|
||||
abstract class IrDeclarationOriginImpl(val name: String) : IrDeclarationOrigin {
|
||||
|
||||
+8
-5
@@ -29,7 +29,8 @@ class IrAnonymousInitializerImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val symbol: IrAnonymousInitializerSymbol
|
||||
override val symbol: IrAnonymousInitializerSymbol,
|
||||
override val isStatic: Boolean = false
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrAnonymousInitializer {
|
||||
|
||||
@@ -37,17 +38,19 @@ class IrAnonymousInitializerImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor
|
||||
descriptor: ClassDescriptor,
|
||||
isStatic: Boolean = false
|
||||
) :
|
||||
this(startOffset, endOffset, origin, IrAnonymousInitializerSymbolImpl(descriptor))
|
||||
this(startOffset, endOffset, origin, IrAnonymousInitializerSymbolImpl(descriptor), isStatic)
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor,
|
||||
body: IrBlockBody
|
||||
) : this(startOffset, endOffset, origin, descriptor) {
|
||||
body: IrBlockBody,
|
||||
isStatic: Boolean = false
|
||||
) : this(startOffset, endOffset, origin, descriptor, isStatic) {
|
||||
this.body = body
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user