Refactor setting dependencies for ModuleDescriptors

This commit is contained in:
Pavel V. Talanov
2015-06-10 20:14:06 +03:00
parent 1d696c2e54
commit 705f35450f
12 changed files with 52 additions and 72 deletions
@@ -17,8 +17,8 @@
package org.jetbrains.kotlin.load.kotlin.reflect
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.di.InjectorForRuntimeDescriptorLoader
import org.jetbrains.kotlin.name.Name
@@ -36,9 +36,7 @@ public class RuntimeModuleData private constructor(private val injector: Injecto
val storageManager = LockBasedStorageManager()
val module = ModuleDescriptorImpl(Name.special("<runtime module for $classLoader>"), storageManager,
ModuleParameters(listOf(), JavaToKotlinClassMap.INSTANCE))
module.addDependencyOnModule(module)
module.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule())
module.seal()
module.setDependencies(module, KotlinBuiltIns.getInstance().getBuiltInsModule())
val injector = InjectorForRuntimeDescriptorLoader(classLoader, module, storageManager)
module.initialize(injector.getJavaDescriptorResolver().packageFragmentProvider)
return RuntimeModuleData(injector)