Builtins are passed into builtins module
Fixes circular dependency
This commit is contained in:
@@ -111,7 +111,7 @@ public class KotlinBuiltIns {
|
|||||||
private KotlinBuiltIns() {
|
private KotlinBuiltIns() {
|
||||||
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
||||||
builtInsModule = new ModuleDescriptorImpl(
|
builtInsModule = new ModuleDescriptorImpl(
|
||||||
Name.special("<built-ins module>"), storageManager, ModuleParameters.Empty.INSTANCE$
|
Name.special("<built-ins module>"), storageManager, ModuleParameters.Empty.INSTANCE$, this
|
||||||
);
|
);
|
||||||
|
|
||||||
PackageFragmentProvider packageFragmentProvider = BuiltinsPackage.createBuiltInPackageFragmentProvider(
|
PackageFragmentProvider packageFragmentProvider = BuiltinsPackage.createBuiltInPackageFragmentProvider(
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ import kotlin.properties.Delegates
|
|||||||
public class ModuleDescriptorImpl(
|
public class ModuleDescriptorImpl(
|
||||||
moduleName: Name,
|
moduleName: Name,
|
||||||
private val storageManager: StorageManager,
|
private val storageManager: StorageManager,
|
||||||
private val moduleParameters: ModuleParameters
|
private val moduleParameters: ModuleParameters,
|
||||||
|
override val builtIns: KotlinBuiltIns
|
||||||
) : DeclarationDescriptorImpl(Annotations.EMPTY, moduleName), ModuleDescriptor, ModuleParameters by moduleParameters {
|
) : DeclarationDescriptorImpl(Annotations.EMPTY, moduleName), ModuleDescriptor, ModuleParameters by moduleParameters {
|
||||||
init {
|
init {
|
||||||
if (!moduleName.isSpecial()) {
|
if (!moduleName.isSpecial()) {
|
||||||
@@ -40,6 +41,12 @@ public class ModuleDescriptorImpl(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor(
|
||||||
|
moduleName: Name,
|
||||||
|
storageManager: StorageManager,
|
||||||
|
moduleParameters: ModuleParameters
|
||||||
|
) : this(moduleName, storageManager, moduleParameters, KotlinBuiltIns.getInstance())
|
||||||
|
|
||||||
private var dependencies: ModuleDependencies? = null
|
private var dependencies: ModuleDependencies? = null
|
||||||
private var packageFragmentProviderForModuleContent: PackageFragmentProvider? = null
|
private var packageFragmentProviderForModuleContent: PackageFragmentProvider? = null
|
||||||
|
|
||||||
@@ -102,9 +109,6 @@ public class ModuleDescriptorImpl(
|
|||||||
assert(friend != this) { "Attempt to make module $id a friend to itself" }
|
assert(friend != this) { "Attempt to make module $id a friend to itself" }
|
||||||
friendModules.add(friend)
|
friendModules.add(friend)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val builtIns: KotlinBuiltIns
|
|
||||||
get() = KotlinBuiltIns.getInstance()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ModuleDependencies {
|
public interface ModuleDependencies {
|
||||||
|
|||||||
Reference in New Issue
Block a user