KT-42933 inline class backing field can't be static

This commit is contained in:
Dmitry Petrov
2020-11-25 13:39:15 +03:00
parent f6abc5c3cf
commit e5dce9f994
10 changed files with 59 additions and 3 deletions
@@ -69,11 +69,15 @@ fun getInlineClassUnderlyingType(irClass: IrClass): IrType {
fun getInlineClassBackingField(irClass: IrClass): IrField {
for (declaration in irClass.declarations) {
if (declaration is IrField)
if (declaration is IrField && !declaration.isStatic)
return declaration
if (declaration is IrProperty)
return declaration.backingField ?: continue
if (declaration is IrProperty) {
val backingField = declaration.backingField
if (backingField != null && !backingField.isStatic) {
return backingField
}
}
}
error("Inline class has no field: ${irClass.fqNameWhenAvailable}")
}