[AA] Consider context receivers in FirTowerDataElement.getAvailableScope
This commit is contained in:
committed by
teamcity
parent
5996b41443
commit
d89d774411
+4
-3
@@ -236,9 +236,10 @@ private class FirShorteningContext(val analysisSession: KtFirAnalysisSession) {
|
||||
): List<FirScope>? {
|
||||
val towerDataContext = towerContextProvider.getClosestAvailableParentContext(position) ?: return null
|
||||
val result = buildList {
|
||||
addAll(towerDataContext.nonLocalTowerDataElements.mapNotNull {
|
||||
// We must use `it.getAvailableScope()` instead of `it.scope` to check scopes of companion objects as well.
|
||||
it.getAvailableScope()
|
||||
addAll(towerDataContext.nonLocalTowerDataElements.flatMap {
|
||||
// We must use `it.getAvailableScopes()` instead of `it.scope` to check scopes of companion objects
|
||||
// and context receivers as well.
|
||||
it.getAvailableScopes()
|
||||
})
|
||||
addIfNotNull(createFakeImportingScope(newImports))
|
||||
addAll(towerDataContext.localScopes)
|
||||
|
||||
+6
@@ -160,6 +160,12 @@ public class FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated ext
|
||||
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/companionUsedOutOfClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("contextReceiver.kt")
|
||||
public void testContextReceiver() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/contextReceiver.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumClassCompanionAlreadyImported.kt")
|
||||
public void testEnumClassCompanionAlreadyImported() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user