[k2, dfa] Use transitive closure of dependsOn for stability checks
This commit is contained in:
committed by
Space Team
parent
337330f8c8
commit
f28863b983
+2
-5
@@ -7,14 +7,11 @@ package org.jetbrains.kotlin.fir.resolve.dfa
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
import org.jetbrains.kotlin.fir.moduleData
|
|
||||||
import org.jetbrains.kotlin.fir.originalOrSelf
|
|
||||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
@@ -215,7 +212,7 @@ class VariableStorageImpl(private val session: FirSession) : VariableStorage() {
|
|||||||
return when (propertyModuleData) {
|
return when (propertyModuleData) {
|
||||||
currentModuleData,
|
currentModuleData,
|
||||||
in currentModuleData.friendDependencies,
|
in currentModuleData.friendDependencies,
|
||||||
in currentModuleData.dependsOnDependencies,
|
in currentModuleData.allDependsOnDependencies,
|
||||||
-> PropertyStability.STABLE_VALUE
|
-> PropertyStability.STABLE_VALUE
|
||||||
else -> PropertyStability.ALIEN_PUBLIC_PROPERTY
|
else -> PropertyStability.ALIEN_PUBLIC_PROPERTY
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+2
-2
@@ -20,7 +20,7 @@ fun isCast(d: Direct, t: Transitive) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (t.finalProperty is String) {
|
if (t.finalProperty is String) {
|
||||||
<!SMARTCAST_IMPOSSIBLE!>t.finalProperty<!>.length
|
t.finalProperty.length
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,5 +29,5 @@ fun asCast(d: Direct, t: Transitive) {
|
|||||||
d.finalProperty.length
|
d.finalProperty.length
|
||||||
|
|
||||||
t.finalProperty as String
|
t.finalProperty as String
|
||||||
<!SMARTCAST_IMPOSSIBLE!>t.finalProperty<!>.length
|
t.finalProperty.length
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user