[Resolve] Make ResolversForModule less static

As consequence, remove IdePlatformKindTooling.resolverForModule, because
it became more than just field, and it duplicates similar API in
IdePlatformKindResolution anyways
This commit is contained in:
Dmitry Savvinov
2019-06-03 10:19:19 +03:00
parent 0f56d243cb
commit b48218e722
18 changed files with 133 additions and 88 deletions
@@ -29,7 +29,9 @@ import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolverImpl
import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.platform.jvm.isJvm
import org.jetbrains.kotlin.platform.jvm.isJvm
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.resolve.TargetEnvironment
import org.jetbrains.kotlin.resolve.jvm.extensions.PackageFragmentProviderExtension
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
@@ -41,13 +43,15 @@ class JvmPlatformParameters(
) : PlatformAnalysisParameters
object JvmResolverForModuleFactory : ResolverForModuleFactory() {
class JvmResolverForModuleFactory(
private val platformParameters: JvmPlatformParameters,
private val targetEnvironment: TargetEnvironment,
private val platform: TargetPlatform
) : ResolverForModuleFactory() {
override fun <M : ModuleInfo> createResolverForModule(
moduleDescriptor: ModuleDescriptorImpl,
moduleContext: ModuleContext,
moduleContent: ModuleContent<M>,
platformParameters: PlatformAnalysisParameters,
targetEnvironment: TargetEnvironment,
resolverForProject: ResolverForProject<M>,
languageVersionSettings: LanguageVersionSettings
): ResolverForModule {