FIR: ensure STATUS resolve phase before reading valueClassRepresentation
This commit is contained in:
committed by
Ilya Kirillov
parent
542ca68aba
commit
7f6cad6fb3
@@ -13,10 +13,7 @@ import org.jetbrains.kotlin.descriptors.ValueClassKind
|
||||
import org.jetbrains.kotlin.descriptors.valueClassLoweringKind
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.expandedConeType
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isInner
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.superConeTypes
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.resolve.directExpansionType
|
||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||
@@ -569,7 +566,12 @@ interface ConeTypeContext : TypeSystemContext, TypeSystemOptimizationContext, Ty
|
||||
}
|
||||
|
||||
override fun TypeConstructorMarker.getValueClassProperties(): List<Pair<Name, SimpleTypeMarker>>? {
|
||||
return toFirRegularClass()?.valueClassRepresentation?.underlyingPropertyNamesToTypes
|
||||
val firClass = toFirRegularClass() ?: return null
|
||||
// NB: [FirRegularClass.valueClassRepresentation] is updated by [FirStatusResolveTransformer].
|
||||
if (firClass.isInline) {
|
||||
firClass.symbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
}
|
||||
return firClass.valueClassRepresentation?.underlyingPropertyNamesToTypes
|
||||
}
|
||||
|
||||
override fun TypeConstructorMarker.isInnerClass(): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user