[FIR] FirSyntheticProperty: make constructor internal
Also, backingField can be moved into the body ^KT-61990
This commit is contained in:
committed by
Space Team
parent
6c1405cf99
commit
bb40ce0bfc
+13
-14
@@ -9,18 +9,18 @@ import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.copy
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.UnresolvedDeprecationProvider
|
||||
import org.jetbrains.kotlin.fir.declarations.getDeprecationsProviderFromAccessors
|
||||
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
||||
import org.jetbrains.kotlin.fir.java.symbols.FirJavaOverriddenSyntheticPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.nullableModuleData
|
||||
import org.jetbrains.kotlin.fir.scopes.FirDelegatingTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.declarations.resolvePhase
|
||||
import org.jetbrains.kotlin.fir.scopes.FirDelegatingTypeScope
|
||||
|
||||
class JavaAnnotationSyntheticPropertiesScope(
|
||||
private val session: FirSession,
|
||||
@@ -43,18 +43,17 @@ class JavaAnnotationSyntheticPropertiesScope(
|
||||
val symbol = syntheticPropertiesCache.getOrPut(functionSymbol) {
|
||||
val callableId = CallableId(classId, name)
|
||||
FirJavaOverriddenSyntheticPropertySymbol(callableId, callableId).also {
|
||||
val accessor = FirSyntheticPropertyAccessor(function, isGetter = true, it)
|
||||
FirSyntheticProperty(
|
||||
session.nullableModuleData ?: function.moduleData,
|
||||
name,
|
||||
isVar = false,
|
||||
it,
|
||||
function.status.copy(modality = Modality.FINAL),
|
||||
function.resolvePhase,
|
||||
accessor
|
||||
)
|
||||
buildSyntheticProperty {
|
||||
moduleData = session.nullableModuleData ?: function.moduleData
|
||||
this.name = name
|
||||
symbol = it
|
||||
status = function.status.copy(modality = Modality.FINAL)
|
||||
delegateGetter = function
|
||||
deprecationsProvider = UnresolvedDeprecationProvider
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processor(symbol)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.declarations.synthetic
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
class FirSyntheticProperty(
|
||||
class FirSyntheticProperty @FirImplementationDetail internal constructor(
|
||||
override val moduleData: FirModuleData,
|
||||
override val name: Name,
|
||||
override val isVar: Boolean,
|
||||
@@ -29,7 +30,6 @@ class FirSyntheticProperty(
|
||||
resolvePhase: FirResolvePhase,
|
||||
override val getter: FirSyntheticPropertyAccessor,
|
||||
override val setter: FirSyntheticPropertyAccessor? = null,
|
||||
override val backingField: FirBackingField? = null,
|
||||
override val deprecationsProvider: DeprecationsProvider = UnresolvedDeprecationProvider
|
||||
) : FirProperty() {
|
||||
init {
|
||||
@@ -41,6 +41,8 @@ class FirSyntheticProperty(
|
||||
this.resolveState = resolvePhase.asResolveState()
|
||||
}
|
||||
|
||||
override val backingField: FirBackingField? get() = null
|
||||
|
||||
override val returnTypeRef: FirTypeRef
|
||||
get() = getter.returnTypeRef
|
||||
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.declarations.synthetic
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
||||
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
class FirSyntheticPropertyAccessor(
|
||||
class FirSyntheticPropertyAccessor @FirImplementationDetail internal constructor(
|
||||
val delegate: FirSimpleFunction,
|
||||
override val isGetter: Boolean,
|
||||
override val propertySymbol: FirPropertySymbol,
|
||||
|
||||
+2
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.declarations.synthetic
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.declarations.DeprecationsProvider
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
@@ -24,6 +25,7 @@ class FirSyntheticPropertyBuilder {
|
||||
var delegateSetter: FirSimpleFunction? = null
|
||||
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
fun build(): FirSyntheticProperty = FirSyntheticProperty(
|
||||
moduleData, name, isVar = delegateSetter != null, symbol = symbol,
|
||||
status = status ?: delegateGetter.status,
|
||||
|
||||
Reference in New Issue
Block a user