diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java index 05ee2a1e285..8ca53096858 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.di; import org.jetbrains.kotlin.context.ModuleContext; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; @@ -87,7 +87,7 @@ public class InjectorForLazyResolveWithJava { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java index 0c982256a5e..0b1a77a942d 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.di; import org.jetbrains.kotlin.context.ModuleContext; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; @@ -98,7 +98,7 @@ public class InjectorForReplWithJava { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java index 6ee861d93e2..baf524afa0a 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.di; import org.jetbrains.kotlin.context.ModuleContext; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; @@ -98,7 +98,7 @@ public class InjectorForTopDownAnalyzerForJvm { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt index fdcee2c9ea6..6fb4ca123cf 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt @@ -21,6 +21,7 @@ import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.analyzer.* import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider +import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava import org.jetbrains.kotlin.extensions.ExternalDeclarationsProvider import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolverImpl @@ -46,10 +47,10 @@ public class JvmPlatformParameters( public object JvmAnalyzerFacade : AnalyzerFacade { override fun createResolverForModule( moduleInfo: M, + moduleDescriptor: ModuleDescriptorImpl, moduleContext: ModuleContext, moduleContent: ModuleContent, - platformParameters: JvmPlatformParameters, - resolverForProject: ResolverForProject + platformParameters: JvmPlatformParameters, resolverForProject: ResolverForProject ): JvmResolverForModule { val (syntheticFiles, moduleContentScope) = moduleContent val project = moduleContext.project @@ -74,7 +75,7 @@ public object JvmAnalyzerFacade : AnalyzerFacade val descriptor = resolverForProject.descriptorForModule(module) val resolverForModule = createResolverForModule( - module, projectContext.withModule(descriptor), modulesContent(module), platformParameters, resolverForProject + module, descriptor, projectContext.withModule(descriptor), + modulesContent(module), platformParameters, resolverForProject ) assert(descriptor.isInitialized, "ModuleDescriptorImpl#initialize() should be called in createResolverForModule") resolverForProject.resolverByModuleDescriptor[descriptor] = resolverForModule @@ -186,10 +187,10 @@ public trait AnalyzerFacade createResolverForModule( moduleInfo: M, + moduleDescriptor: ModuleDescriptorImpl, moduleContext: ModuleContext, moduleContent: ModuleContent, - platformParameters: P, - resolverForProject: ResolverForProject + platformParameters: P, resolverForProject: ResolverForProject ): A public val defaultImports: List diff --git a/compiler/frontend/src/org/jetbrains/kotlin/context/context.kt b/compiler/frontend/src/org/jetbrains/kotlin/context/context.kt index dbdf3888795..0c5a5d68e3c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/context/context.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/context/context.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.context import com.intellij.openapi.project.Project import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl +import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap import org.jetbrains.kotlin.storage.ExceptionTracker import org.jetbrains.kotlin.storage.LockBasedStorageManager @@ -34,7 +34,7 @@ public trait ProjectContext : GlobalContext { } public trait ModuleContext : ProjectContext { - public val module: ModuleDescriptorImpl + public val module: ModuleDescriptor public val platformToKotlinClassMap: PlatformToKotlinClassMap get() = module.platformToKotlinClassMap @@ -61,7 +61,7 @@ public class ProjectContextImpl( ) : ProjectContext, GlobalContext by globalContext public class ModuleContextImpl( - override val module: ModuleDescriptorImpl, + override val module: ModuleDescriptor, projectContext: ProjectContext ) : ModuleContext, ProjectContext by projectContext @@ -71,11 +71,11 @@ public fun GlobalContext(): GlobalContextImpl { } public fun ProjectContext(project: Project): ProjectContext = ProjectContextImpl(project, GlobalContext()) -public fun ModuleContext(module: ModuleDescriptorImpl, project: Project): ModuleContext = +public fun ModuleContext(module: ModuleDescriptor, project: Project): ModuleContext = ModuleContextImpl(module, ProjectContext(project)) public fun GlobalContext.withProject(project: Project): ProjectContext = ProjectContextImpl(project, this) -public fun ProjectContext.withModule(module: ModuleDescriptorImpl): ModuleContext = ModuleContextImpl(module, this) +public fun ProjectContext.withModule(module: ModuleDescriptor): ModuleContext = ModuleContextImpl(module, this) deprecated("Used temporarily while we are in transition from to lazy resolve") public open class TypeLazinessToken { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java index e7a28587ee3..2d810c50049 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java @@ -16,23 +16,47 @@ package org.jetbrains.kotlin.di; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.builtins.ReflectionTypes; import org.jetbrains.kotlin.context.ModuleContext; -import org.jetbrains.kotlin.context.TypeLazinessToken; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.builtins.KotlinBuiltIns; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; -import org.jetbrains.kotlin.resolve.*; -import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; -import org.jetbrains.kotlin.resolve.calls.*; -import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; -import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; +import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; +import org.jetbrains.kotlin.resolve.BindingTrace; +import org.jetbrains.kotlin.resolve.AdditionalCheckerProvider; +import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; +import org.jetbrains.kotlin.resolve.StatementFilter; +import org.jetbrains.kotlin.resolve.BodyResolver; +import org.jetbrains.kotlin.resolve.AnnotationResolver; +import org.jetbrains.kotlin.resolve.calls.CallResolver; +import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingComponents; +import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; +import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; +import org.jetbrains.kotlin.resolve.DescriptorResolver; +import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; +import org.jetbrains.kotlin.resolve.TypeResolver; +import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; +import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; +import org.jetbrains.kotlin.context.TypeLazinessToken; import org.jetbrains.kotlin.types.DynamicTypesSettings; -import org.jetbrains.kotlin.types.expressions.*; - +import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; +import org.jetbrains.kotlin.types.expressions.FakeCallResolver; +import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver; +import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; +import org.jetbrains.kotlin.types.expressions.MultiDeclarationResolver; +import org.jetbrains.kotlin.builtins.ReflectionTypes; +import org.jetbrains.kotlin.types.expressions.ValueParameterResolver; +import org.jetbrains.kotlin.resolve.calls.CallCompleter; +import org.jetbrains.kotlin.resolve.calls.CandidateResolver; +import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; +import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer; +import org.jetbrains.kotlin.resolve.DeclarationsChecker; +import org.jetbrains.kotlin.resolve.ModifiersChecker; +import org.jetbrains.kotlin.resolve.FunctionAnalyzerExtension; +import org.jetbrains.kotlin.resolve.ScriptBodyResolver; +import org.jetbrains.annotations.NotNull; import javax.annotation.PreDestroy; /* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */ @@ -41,7 +65,7 @@ public class InjectorForBodyResolve { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java index 185763e6cf6..180fbc77c1a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java @@ -16,28 +16,57 @@ package org.jetbrains.kotlin.di; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.builtins.ReflectionTypes; import org.jetbrains.kotlin.context.ModuleContext; -import org.jetbrains.kotlin.context.TypeLazinessToken; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.builtins.KotlinBuiltIns; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; -import org.jetbrains.kotlin.resolve.*; -import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; -import org.jetbrains.kotlin.resolve.calls.*; -import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; -import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl; -import org.jetbrains.kotlin.resolve.lazy.FileScopeProvider; -import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer; -import org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver; -import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; -import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker; +import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; +import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer; +import org.jetbrains.kotlin.resolve.lazy.FileScopeProvider; +import org.jetbrains.kotlin.resolve.BindingTrace; +import org.jetbrains.kotlin.resolve.AdditionalCheckerProvider; +import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; import org.jetbrains.kotlin.types.DynamicTypesSettings; -import org.jetbrains.kotlin.types.expressions.*; - +import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzerForTopLevel; +import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer; +import org.jetbrains.kotlin.resolve.BodyResolver; +import org.jetbrains.kotlin.resolve.AnnotationResolver; +import org.jetbrains.kotlin.resolve.calls.CallResolver; +import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingComponents; +import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; +import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; +import org.jetbrains.kotlin.resolve.DescriptorResolver; +import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; +import org.jetbrains.kotlin.resolve.TypeResolver; +import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; +import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; +import org.jetbrains.kotlin.context.TypeLazinessToken; +import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; +import org.jetbrains.kotlin.types.expressions.FakeCallResolver; +import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver; +import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; +import org.jetbrains.kotlin.types.expressions.MultiDeclarationResolver; +import org.jetbrains.kotlin.builtins.ReflectionTypes; +import org.jetbrains.kotlin.types.expressions.ValueParameterResolver; +import org.jetbrains.kotlin.resolve.StatementFilter; +import org.jetbrains.kotlin.resolve.calls.CallCompleter; +import org.jetbrains.kotlin.resolve.calls.CandidateResolver; +import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; +import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer; +import org.jetbrains.kotlin.resolve.DeclarationsChecker; +import org.jetbrains.kotlin.resolve.ModifiersChecker; +import org.jetbrains.kotlin.resolve.FunctionAnalyzerExtension; +import org.jetbrains.kotlin.resolve.ScriptBodyResolver; +import org.jetbrains.kotlin.resolve.DeclarationResolver; +import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl; +import org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver; +import org.jetbrains.kotlin.resolve.OverloadResolver; +import org.jetbrains.kotlin.resolve.OverrideResolver; +import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker; +import org.jetbrains.annotations.NotNull; import javax.annotation.PreDestroy; /* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */ @@ -46,7 +75,7 @@ public class InjectorForLazyBodyResolve { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java index dfbcb3f2699..308c1176b7e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java @@ -16,26 +16,57 @@ package org.jetbrains.kotlin.di; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.builtins.ReflectionTypes; import org.jetbrains.kotlin.context.ModuleContext; -import org.jetbrains.kotlin.context.TypeLazinessToken; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.builtins.KotlinBuiltIns; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; -import org.jetbrains.kotlin.resolve.*; -import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; -import org.jetbrains.kotlin.resolve.calls.*; -import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; -import org.jetbrains.kotlin.resolve.lazy.NoFileScopeProvider; -import org.jetbrains.kotlin.resolve.lazy.NoTopLevelDescriptorProvider; -import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; -import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker; +import com.intellij.openapi.project.Project; import org.jetbrains.kotlin.storage.StorageManager; +import org.jetbrains.kotlin.resolve.BindingTrace; +import org.jetbrains.kotlin.resolve.AdditionalCheckerProvider; +import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; import org.jetbrains.kotlin.types.DynamicTypesSettings; -import org.jetbrains.kotlin.types.expressions.*; - +import org.jetbrains.kotlin.types.expressions.LocalClassDescriptorHolder; +import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer; +import org.jetbrains.kotlin.resolve.lazy.NoTopLevelDescriptorProvider; +import org.jetbrains.kotlin.resolve.lazy.NoFileScopeProvider; +import org.jetbrains.kotlin.types.expressions.DeclarationScopeProviderForLocalClassifierAnalyzer; +import org.jetbrains.kotlin.types.expressions.LocalLazyDeclarationResolver; +import org.jetbrains.kotlin.resolve.BodyResolver; +import org.jetbrains.kotlin.resolve.AnnotationResolver; +import org.jetbrains.kotlin.resolve.calls.CallResolver; +import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingComponents; +import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; +import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; +import org.jetbrains.kotlin.resolve.DescriptorResolver; +import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; +import org.jetbrains.kotlin.resolve.TypeResolver; +import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; +import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; +import org.jetbrains.kotlin.context.TypeLazinessToken; +import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; +import org.jetbrains.kotlin.types.expressions.FakeCallResolver; +import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver; +import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; +import org.jetbrains.kotlin.types.expressions.MultiDeclarationResolver; +import org.jetbrains.kotlin.builtins.ReflectionTypes; +import org.jetbrains.kotlin.types.expressions.ValueParameterResolver; +import org.jetbrains.kotlin.resolve.StatementFilter; +import org.jetbrains.kotlin.resolve.calls.CallCompleter; +import org.jetbrains.kotlin.resolve.calls.CandidateResolver; +import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; +import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer; +import org.jetbrains.kotlin.resolve.DeclarationsChecker; +import org.jetbrains.kotlin.resolve.ModifiersChecker; +import org.jetbrains.kotlin.resolve.FunctionAnalyzerExtension; +import org.jetbrains.kotlin.resolve.ScriptBodyResolver; +import org.jetbrains.kotlin.resolve.DeclarationResolver; +import org.jetbrains.kotlin.resolve.OverloadResolver; +import org.jetbrains.kotlin.resolve.OverrideResolver; +import org.jetbrains.kotlin.resolve.varianceChecker.VarianceChecker; +import org.jetbrains.annotations.NotNull; import javax.annotation.PreDestroy; /* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */ @@ -44,7 +75,7 @@ public class InjectorForLazyLocalClassifierAnalyzer { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java index bf1bd340aa2..83c0aaf2c8b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java @@ -16,30 +16,49 @@ package org.jetbrains.kotlin.di; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.builtins.ReflectionTypes; -import org.jetbrains.kotlin.context.LazyResolveToken; import org.jetbrains.kotlin.context.ModuleContext; -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; +import org.jetbrains.kotlin.builtins.KotlinBuiltIns; +import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; -import org.jetbrains.kotlin.psi.JetImportsFactory; -import org.jetbrains.kotlin.resolve.*; -import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; -import org.jetbrains.kotlin.resolve.calls.*; -import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; -import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl; -import org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver; +import com.intellij.openapi.project.Project; +import org.jetbrains.kotlin.storage.StorageManager; +import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory; +import org.jetbrains.kotlin.resolve.BindingTrace; +import org.jetbrains.kotlin.resolve.AdditionalCheckerProvider; +import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; +import org.jetbrains.kotlin.types.DynamicTypesSettings; import org.jetbrains.kotlin.resolve.lazy.ResolveSession; import org.jetbrains.kotlin.resolve.lazy.ScopeProvider; +import org.jetbrains.kotlin.context.LazyResolveToken; +import org.jetbrains.kotlin.resolve.AnnotationResolver; +import org.jetbrains.kotlin.resolve.calls.CallResolver; +import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices; +import org.jetbrains.kotlin.types.expressions.ExpressionTypingComponents; +import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; +import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; +import org.jetbrains.kotlin.resolve.DescriptorResolver; +import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; +import org.jetbrains.kotlin.resolve.TypeResolver; +import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; +import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; +import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; +import org.jetbrains.kotlin.types.expressions.FakeCallResolver; +import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver; +import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; +import org.jetbrains.kotlin.types.expressions.MultiDeclarationResolver; +import org.jetbrains.kotlin.builtins.ReflectionTypes; +import org.jetbrains.kotlin.types.expressions.ValueParameterResolver; +import org.jetbrains.kotlin.resolve.StatementFilter; +import org.jetbrains.kotlin.resolve.calls.CallCompleter; +import org.jetbrains.kotlin.resolve.calls.CandidateResolver; +import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; +import org.jetbrains.kotlin.psi.JetImportsFactory; +import org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver; +import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl; +import org.jetbrains.kotlin.resolve.ScriptBodyResolver; import org.jetbrains.kotlin.resolve.lazy.ScopeProvider.AdditionalFileScopeProvider; -import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory; -import org.jetbrains.kotlin.resolve.validation.SymbolUsageValidator; -import org.jetbrains.kotlin.storage.StorageManager; -import org.jetbrains.kotlin.types.DynamicTypesSettings; -import org.jetbrains.kotlin.types.expressions.*; - +import org.jetbrains.annotations.NotNull; import javax.annotation.PreDestroy; /* This file is generated by org.jetbrains.kotlin.generators.injectors.InjectorsPackage. DO NOT EDIT! */ @@ -48,7 +67,7 @@ public class InjectorForLazyResolve { private final ModuleContext moduleContext; private final KotlinBuiltIns kotlinBuiltIns; - private final ModuleDescriptorImpl moduleDescriptor; + private final ModuleDescriptor moduleDescriptor; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final Project project; private final StorageManager storageManager; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java index ffb9f9a89c8..dc811feea19 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java @@ -126,7 +126,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext { public ResolveSession( @NotNull Project project, @NotNull GlobalContext globalContext, - @NotNull ModuleDescriptorImpl rootDescriptor, + @NotNull ModuleDescriptor rootDescriptor, @NotNull DeclarationProviderFactory declarationProviderFactory, @NotNull BindingTrace delegationTrace ) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/LocalClassifierAnalyzer.kt b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/LocalClassifierAnalyzer.kt index 1b01321c1d1..c566ea59ad3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/LocalClassifierAnalyzer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/LocalClassifierAnalyzer.kt @@ -63,7 +63,7 @@ public class LocalClassifierAnalyzer( dynamicTypesSettings: DynamicTypesSettings ) { val module = DescriptorUtils.getContainingModule(containingDeclaration) - val moduleContext = globalContext.withProject(classOrObject.getProject()).withModule(module as ModuleDescriptorImpl) + val moduleContext = globalContext.withProject(classOrObject.getProject()).withModule(module) val injector = InjectorForLazyLocalClassifierAnalyzer( moduleContext, context.trace, diff --git a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.kt b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.kt index 613f4797a53..167d00e6e2e 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.kt @@ -373,7 +373,7 @@ public abstract class ElementResolver protected( private fun createBodyResolver(resolveSession: ResolveSession, trace: BindingTrace, file: JetFile, statementFilter: StatementFilter): BodyResolver { val globalContext = SimpleGlobalContext(resolveSession.getStorageManager(), resolveSession.getExceptionTracker()) val bodyResolve = InjectorForBodyResolve( - globalContext.withProject(file.getProject()).withModule(resolveSession.getModuleDescriptor() as ModuleDescriptorImpl), + globalContext.withProject(file.getProject()).withModule(resolveSession.getModuleDescriptor()), trace, getAdditionalCheckerProvider(file), statementFilter ) return bodyResolve.getBodyResolver() diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt index c4b76909cf4..fccb640f940 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt @@ -21,6 +21,7 @@ import com.intellij.util.PathUtil import org.jetbrains.kotlin.analyzer.* import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider +import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.di.InjectorForLazyResolve import org.jetbrains.kotlin.idea.framework.JsHeaderLibraryDetectionUtil import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS @@ -42,10 +43,10 @@ public object JsAnalyzerFacade : AnalyzerFacade createResolverForModule( moduleInfo: M, + moduleDescriptor: ModuleDescriptorImpl, moduleContext: ModuleContext, moduleContent: ModuleContent, - platformParameters: PlatformAnalysisParameters, - resolverForProject: ResolverForProject + platformParameters: PlatformAnalysisParameters, resolverForProject: ResolverForProject ): JsResolverForModule { val (syntheticFiles, moduleContentScope) = moduleContent val project = moduleContext.project @@ -58,7 +59,6 @@ public object JsAnalyzerFacade : AnalyzerFacade