Introduce FirProperty.hasBackingField & use it in FIR2IR
This commit is contained in:
@@ -9,6 +9,8 @@ import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.fir.Visibilities
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirRegularClassBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParameterBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
|
||||
@@ -119,6 +121,13 @@ var FirProperty.isFromVararg: Boolean? by FirDeclarationDataRegistry.data(IsFrom
|
||||
private object IsReferredViaField : FirDeclarationDataKey()
|
||||
var FirProperty.isReferredViaField: Boolean? by FirDeclarationDataRegistry.data(IsReferredViaField)
|
||||
|
||||
val FirProperty.hasBackingField: Boolean
|
||||
get() = initializer != null ||
|
||||
getter is FirDefaultPropertyGetter ||
|
||||
isVar && setter is FirDefaultPropertySetter ||
|
||||
delegate != null ||
|
||||
isReferredViaField == true
|
||||
|
||||
inline val FirProperty.hasJvmFieldAnnotation: Boolean
|
||||
get() = annotations.any {
|
||||
val classId = it.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()?.classId
|
||||
|
||||
Reference in New Issue
Block a user