diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt index d6395404dbb..a4de17a9d83 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/extensions/PartialAnalysisHandlerExtension.kt @@ -50,12 +50,14 @@ open class PartialAnalysisHandlerExtension : AnalysisHandlerExtension { val resolveSession = componentProvider.get() val bodyResolver = componentProvider.get() val declarationScopeProvider = componentProvider.get() + val topDownAnalyzer = componentProvider.get() val topDownAnalysisContext = TopDownAnalysisContext( TopDownAnalysisMode.TopLevelDeclarations, DataFlowInfo.EMPTY, declarationScopeProvider) for (file in files) { ForceResolveUtil.forceResolveAllContents(resolveSession.getFileAnnotations(file)) + topDownAnalyzer.resolveImportsInFile(file) } doForEachDeclaration(files) { declaration -> diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt index aa37df4b3a4..e5d41837578 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt @@ -229,10 +229,14 @@ class LazyTopDownAnalyzer( private fun resolveImportsInAllFiles(c: TopDownAnalysisContext) { for (file in c.files + c.scripts.keys.map { it.containingKtFile }) { - fileScopeProvider.getImportResolver(file).forceResolveAllImports() + resolveImportsInFile(file) } } + fun resolveImportsInFile(file: KtFile) { + fileScopeProvider.getImportResolver(file).forceResolveAllImports() + } + private fun createTypeAliasDescriptors(c: TopDownAnalysisContext, topLevelFqNames: Multimap, typeAliases: List) { for (typeAlias in typeAliases) { val descriptor = lazyDeclarationResolver.resolveToDescriptor(typeAlias) as TypeAliasDescriptor diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.kt b/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.kt index 3ec3c0c25da..d0fcdebc70e 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.kt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.kt @@ -6,6 +6,7 @@ import java.util.Date as MyDate import java.util.concurrent.TimeUnit as MyTimeUnit import java.util.concurrent.TimeUnit.* import java.util.concurrent.TimeUnit.MICROSECONDS as MyMicroseconds +import kotlin.arrayOf import a.b.ABC as MyABC import bcd as MyBCD