FIR: support lateinit properties
This commit is contained in:
@@ -395,6 +395,7 @@ class RawFirBuilder(val session: FirSession) {
|
||||
property.platformStatus,
|
||||
property.hasModifier(KtTokens.OVERRIDE_KEYWORD),
|
||||
property.hasModifier(KtTokens.CONST_KEYWORD),
|
||||
property.hasModifier(KtTokens.LATEINIT_KEYWORD),
|
||||
property.receiverTypeReference.convertSafe(),
|
||||
propertyType,
|
||||
property.isVar,
|
||||
|
||||
@@ -163,6 +163,9 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
if (memberDeclaration.isConst) {
|
||||
print("const ")
|
||||
}
|
||||
if (memberDeclaration.isLateInit) {
|
||||
print("lateinit ")
|
||||
}
|
||||
}
|
||||
|
||||
visitNamedDeclaration(memberDeclaration)
|
||||
|
||||
@@ -16,6 +16,8 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
interface FirProperty : @VisitedSupertype FirDeclaration, FirCallableMember, FirVariable {
|
||||
val isConst: Boolean
|
||||
|
||||
val isLateInit: Boolean
|
||||
|
||||
// Should it be nullable or have some default?
|
||||
val getter: FirPropertyAccessor
|
||||
|
||||
|
||||
+1
@@ -28,6 +28,7 @@ class FirMemberPropertyImpl(
|
||||
platformStatus: FirMemberPlatformStatus,
|
||||
isOverride: Boolean,
|
||||
override val isConst: Boolean,
|
||||
override val isLateInit: Boolean,
|
||||
receiverType: FirType?,
|
||||
returnType: FirType,
|
||||
override val isVar: Boolean,
|
||||
|
||||
@@ -15,5 +15,5 @@ class SomeClass : SomeInterface {
|
||||
get() = true
|
||||
set(value) {}
|
||||
|
||||
var fau: Double
|
||||
lateinit var fau: Double
|
||||
}
|
||||
@@ -20,7 +20,7 @@ FILE: simpleClass.kt
|
||||
public? set(value: Boolean): <implicit> {
|
||||
}
|
||||
|
||||
public? final? property fau(var): Double
|
||||
public? final? lateinit property fau(var): Double
|
||||
public? get(): Double
|
||||
public? set(value: Double): R|kotlin/Unit|
|
||||
|
||||
|
||||
Reference in New Issue
Block a user