FIR LC: use property modifiers for backing field if lateinit

This commit is contained in:
Jinseong Jeon
2021-09-17 12:20:16 -07:00
committed by Ilya Kirillov
parent a2bfcfeae8
commit 150f066254
2 changed files with 7 additions and 3 deletions
@@ -170,9 +170,11 @@ internal class FirLightClassForSymbol(
for (propertySymbol in propertySymbols) {
val isJvmField = propertySymbol.hasJvmFieldAnnotation()
val isJvmStatic = propertySymbol.hasJvmStaticAnnotation()
val isLateInit = (propertySymbol as? KtKotlinPropertySymbol)?.isLateInit == true
val forceStatic = isObject && (propertySymbol is KtKotlinPropertySymbol && propertySymbol.isConst || isJvmStatic || isJvmField)
val takePropertyVisibility = !isCompanionObject && (isJvmField || forceStatic)
val forceStatic =
isObject && (propertySymbol is KtKotlinPropertySymbol && propertySymbol.isConst || isJvmStatic || isJvmField)
val takePropertyVisibility = !isCompanionObject && (isLateInit || isJvmField || forceStatic)
createField(
declaration = propertySymbol,
@@ -36,4 +36,6 @@ class Class {
private val privateN: String? = { "" }()
lateinit var lateInitVar: String
}
}
// FIR_COMPARISON