[FIR] Add cleanup of tower data for imports

This commit is contained in:
Dmitriy Novozhilov
2020-05-19 11:58:36 +03:00
parent b05546dd64
commit 8df635a4e0
@@ -50,6 +50,7 @@ open class FirBodyResolveTransformer(
context.file = file context.file = file
packageFqName = file.packageFqName packageFqName = file.packageFqName
return withScopeCleanup(context.fileImportsScope) { return withScopeCleanup(context.fileImportsScope) {
context.withTowerDataCleanup {
val importingScopes = createImportingScopes(file, session, components.scopeSession) val importingScopes = createImportingScopes(file, session, components.scopeSession)
context.fileImportsScope += importingScopes context.fileImportsScope += importingScopes
context.addNonLocalTowerDataElements(importingScopes.map { it.asTowerDataElement(isLocal = false) }) context.addNonLocalTowerDataElements(importingScopes.map { it.asTowerDataElement(isLocal = false) })
@@ -59,6 +60,7 @@ open class FirBodyResolveTransformer(
transformDeclarationContent(file, data) as CompositeTransformResult<FirFile> transformDeclarationContent(file, data) as CompositeTransformResult<FirFile>
} }
} }
}
override fun <E : FirElement> transformElement(element: E, data: ResolutionMode): CompositeTransformResult<E> { override fun <E : FirElement> transformElement(element: E, data: ResolutionMode): CompositeTransformResult<E> {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")