Kapt: force resolve import references in partial analysis mode (required for import conversion in correctErrorTypes)
This commit is contained in:
+2
@@ -50,12 +50,14 @@ open class PartialAnalysisHandlerExtension : AnalysisHandlerExtension {
|
||||
val resolveSession = componentProvider.get<ResolveSession>()
|
||||
val bodyResolver = componentProvider.get<BodyResolver>()
|
||||
val declarationScopeProvider = componentProvider.get<DeclarationScopeProvider>()
|
||||
val topDownAnalyzer = componentProvider.get<LazyTopDownAnalyzer>()
|
||||
|
||||
val topDownAnalysisContext = TopDownAnalysisContext(
|
||||
TopDownAnalysisMode.TopLevelDeclarations, DataFlowInfo.EMPTY, declarationScopeProvider)
|
||||
|
||||
for (file in files) {
|
||||
ForceResolveUtil.forceResolveAllContents(resolveSession.getFileAnnotations(file))
|
||||
topDownAnalyzer.resolveImportsInFile(file)
|
||||
}
|
||||
|
||||
doForEachDeclaration(files) { declaration ->
|
||||
|
||||
@@ -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<FqName, KtElement>, typeAliases: List<KtTypeAlias>) {
|
||||
for (typeAlias in typeAliases) {
|
||||
val descriptor = lazyDeclarationResolver.resolveToDescriptor(typeAlias) as TypeAliasDescriptor
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user