FirProperty: return back 'isReferredViaField' attribute
This commit is contained in:
+1
-1
@@ -679,7 +679,7 @@ class Fir2IrDeclarationStorage(
|
||||
if (initializer != null ||
|
||||
getter is FirDefaultPropertyGetter ||
|
||||
property.isVar && setter is FirDefaultPropertySetter ||
|
||||
property.backingFieldSymbol.isReferenced
|
||||
property.isReferredViaField == true
|
||||
) {
|
||||
backingField = createBackingField(
|
||||
property, IrDeclarationOrigin.PROPERTY_BACKING_FIELD, descriptor,
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.isInner
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub
|
||||
@@ -515,7 +512,7 @@ class FirCallResolver(
|
||||
val candidate = candidates.single()
|
||||
val coneSymbol = candidate.symbol
|
||||
if (coneSymbol is FirBackingFieldSymbol) {
|
||||
coneSymbol.isReferenced = true
|
||||
coneSymbol.fir.isReferredViaField = true
|
||||
return buildBackingFieldReference {
|
||||
this.source = source
|
||||
resolvedSymbol = coneSymbol
|
||||
|
||||
@@ -116,6 +116,8 @@ fun FirRegularClass.addDeclaration(declaration: FirDeclaration) {
|
||||
|
||||
private object IsFromVarargKey : FirDeclarationDataKey()
|
||||
var FirProperty.isFromVararg: Boolean? by FirDeclarationDataRegistry.data(IsFromVarargKey)
|
||||
private object IsReferredViaField : FirDeclarationDataKey()
|
||||
var FirProperty.isReferredViaField: Boolean? by FirDeclarationDataRegistry.data(IsReferredViaField)
|
||||
|
||||
inline val FirProperty.hasJvmFieldAnnotation: Boolean
|
||||
get() = annotations.any {
|
||||
|
||||
@@ -32,10 +32,7 @@ open class FirPropertySymbol(
|
||||
constructor(name: Name) : this(CallableId(name))
|
||||
}
|
||||
|
||||
class FirBackingFieldSymbol(
|
||||
callableId: CallableId,
|
||||
var isReferenced: Boolean = false
|
||||
) : FirVariableSymbol<FirProperty>(callableId)
|
||||
class FirBackingFieldSymbol(callableId: CallableId) : FirVariableSymbol<FirProperty>(callableId)
|
||||
|
||||
class FirDelegateFieldSymbol<D : FirVariable<D>>(callableId: CallableId) : FirVariableSymbol<D>(callableId) {
|
||||
val delegate: FirExpression
|
||||
|
||||
Reference in New Issue
Block a user