FIR LC: use property modifiers for backing field if lateinit
This commit is contained in:
committed by
Ilya Kirillov
parent
a2bfcfeae8
commit
150f066254
+4
-2
@@ -170,9 +170,11 @@ internal class FirLightClassForSymbol(
|
|||||||
for (propertySymbol in propertySymbols) {
|
for (propertySymbol in propertySymbols) {
|
||||||
val isJvmField = propertySymbol.hasJvmFieldAnnotation()
|
val isJvmField = propertySymbol.hasJvmFieldAnnotation()
|
||||||
val isJvmStatic = propertySymbol.hasJvmStaticAnnotation()
|
val isJvmStatic = propertySymbol.hasJvmStaticAnnotation()
|
||||||
|
val isLateInit = (propertySymbol as? KtKotlinPropertySymbol)?.isLateInit == true
|
||||||
|
|
||||||
val forceStatic = isObject && (propertySymbol is KtKotlinPropertySymbol && propertySymbol.isConst || isJvmStatic || isJvmField)
|
val forceStatic =
|
||||||
val takePropertyVisibility = !isCompanionObject && (isJvmField || forceStatic)
|
isObject && (propertySymbol is KtKotlinPropertySymbol && propertySymbol.isConst || isJvmStatic || isJvmField)
|
||||||
|
val takePropertyVisibility = !isCompanionObject && (isLateInit || isJvmField || forceStatic)
|
||||||
|
|
||||||
createField(
|
createField(
|
||||||
declaration = propertySymbol,
|
declaration = propertySymbol,
|
||||||
|
|||||||
@@ -36,4 +36,6 @@ class Class {
|
|||||||
private val privateN: String? = { "" }()
|
private val privateN: String? = { "" }()
|
||||||
|
|
||||||
lateinit var lateInitVar: String
|
lateinit var lateInitVar: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIR_COMPARISON
|
||||||
|
|||||||
Reference in New Issue
Block a user