FirClassSubstitutionScope: partial cleanup
This commit is contained in:
committed by
Space Team
parent
53f37a3893
commit
d16a4ae647
+3
-11
@@ -36,15 +36,6 @@ class FirClassSubstitutionScope(
|
|||||||
private val skipPrivateMembers: Boolean,
|
private val skipPrivateMembers: Boolean,
|
||||||
private val makeExpect: Boolean = false
|
private val makeExpect: Boolean = false
|
||||||
) : FirTypeScope() {
|
) : FirTypeScope() {
|
||||||
companion object {
|
|
||||||
private val FirVariableSymbol<*>.isOverridable: Boolean
|
|
||||||
get() = when (this) {
|
|
||||||
is FirPropertySymbol,
|
|
||||||
is FirFieldSymbol,
|
|
||||||
is FirSyntheticPropertySymbol -> true
|
|
||||||
else -> false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private val substitutionOverrideCache = session.substitutionOverrideStorage.substitutionOverrideCacheByScope.getValue(key, null)
|
private val substitutionOverrideCache = session.substitutionOverrideStorage.substitutionOverrideCacheByScope.getValue(key, null)
|
||||||
private val newOwnerClassId = dispatchReceiverTypeForSubstitutedMembers.lookupTag.classId
|
private val newOwnerClassId = dispatchReceiverTypeForSubstitutedMembers.lookupTag.classId
|
||||||
@@ -86,7 +77,7 @@ class FirClassSubstitutionScope(
|
|||||||
|
|
||||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||||
return useSiteMemberScope.processPropertiesByName(name) process@{ original ->
|
return useSiteMemberScope.processPropertiesByName(name) process@{ original ->
|
||||||
val symbol = if (original.isOverridable) {
|
val symbol = if (original is FirPropertySymbol || original is FirFieldSymbol) {
|
||||||
substitutionOverrideCache.overridesForVariables.getValue(original, this)
|
substitutionOverrideCache.overridesForVariables.getValue(original, this)
|
||||||
} else {
|
} else {
|
||||||
original
|
original
|
||||||
@@ -183,7 +174,8 @@ class FirClassSubstitutionScope(
|
|||||||
val constructor = original.fir
|
val constructor = original.fir
|
||||||
|
|
||||||
val symbolForOverride = FirConstructorSymbol(original.callableId)
|
val symbolForOverride = FirConstructorSymbol(original.callableId)
|
||||||
val (newTypeParameters, _, _, newReturnType, newSubstitutor, fakeOverrideSubstitution) = createSubstitutedData(constructor, symbolForOverride)
|
val (newTypeParameters, _, _, newReturnType, newSubstitutor, fakeOverrideSubstitution) =
|
||||||
|
createSubstitutedData(constructor, symbolForOverride)
|
||||||
|
|
||||||
// If constructor has a dispatch receiver, it should be an inner class' constructor.
|
// If constructor has a dispatch receiver, it should be an inner class' constructor.
|
||||||
// It means that we need to substitute its dispatcher as every other type,
|
// It means that we need to substitute its dispatcher as every other type,
|
||||||
|
|||||||
Reference in New Issue
Block a user