Migrate DescriptorsFactory.getSymbolForObjectInstance() API to symbols

This commit is contained in:
Mikhael Bogdanov
2018-05-08 11:47:02 +02:00
parent 2631d149b2
commit d4d8fe4995
6 changed files with 40 additions and 27 deletions
@@ -42,13 +42,20 @@ class IrFieldImpl(
override val isExternal: Boolean
) : IrDeclarationBase(startOffset, endOffset, origin), IrField {
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, symbol: IrFieldSymbol) :
this(
startOffset, endOffset, origin, symbol,
symbol.descriptor.name, symbol.descriptor.type, symbol.descriptor.visibility,
!symbol.descriptor.isVar,
symbol.descriptor.isEffectivelyExternal()
)
constructor(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
symbol: IrFieldSymbol,
initializer: IrExpressionBody? = null
) : this(
startOffset, endOffset, origin, symbol,
symbol.descriptor.name, symbol.descriptor.type, symbol.descriptor.visibility,
!symbol.descriptor.isVar,
symbol.descriptor.isEffectivelyExternal()
) {
this.initializer = initializer
}
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: PropertyDescriptor) :
this(startOffset, endOffset, origin, IrFieldSymbolImpl(descriptor))