FIR: ensure STATUS resolve phase before reading valueClassRepresentation
diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.descriptors.txt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.descriptors.txt
deleted file mode 100644
index 9f7c3cf..0000000
--- a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.descriptors.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-KtType: MyInt
-PsiType: PsiType:int
diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.txt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.txt
index 87b51fd..9f7c3cf 100644
--- a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.txt
+++ b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/forDeclaration/parameter_jvmInline.txt
@@ -1,2 +1,2 @@
 KtType: MyInt
-PsiType: PsiType:MyInt
+PsiType: PsiType:int
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt
index f8ec5da..f01347c 100644
--- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt
+++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt
@@ -13,10 +13,7 @@
 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 @@
     }
 
     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 {
diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt
index 1299cf5..0949321 100644
--- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt
+++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt
@@ -11,6 +11,7 @@
 import org.jetbrains.kotlin.fir.caches.firCachesFactory
 import org.jetbrains.kotlin.fir.declarations.*
 import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
+import org.jetbrains.kotlin.fir.declarations.utils.isInline
 import org.jetbrains.kotlin.fir.declarations.utils.isLocal
 import org.jetbrains.kotlin.fir.expressions.FirBlock
 import org.jetbrains.kotlin.fir.expressions.FirStatement
@@ -111,7 +112,7 @@
          */
         if (computationStatus != StatusComputationSession.StatusComputationStatus.Computed) {
             regularClass.transformStatus(this, statusResolver.resolveStatus(regularClass, containingClass, isLocal = false))
-            if (regularClass.status.isInline) {
+            if (regularClass.isInline) {
                 regularClass.valueClassRepresentation = computeValueClassRepresentation(regularClass, session)
             }
         }