AnalyzerFacade: compute module dependencies lazily

This commit is contained in:
Pavel V. Talanov
2015-06-10 20:23:39 +03:00
parent 705f35450f
commit 846c0e2522
2 changed files with 27 additions and 12 deletions
@@ -107,8 +107,18 @@ public class ModuleDescriptorImpl(
get() = KotlinBuiltIns.getInstance()
}
public class ModuleDependenciesImpl(override val descriptors: List<ModuleDescriptorImpl>) : ModuleDependencies
public interface ModuleDependencies {
public val descriptors: List<ModuleDescriptorImpl>
}
public class ModuleDependenciesImpl(override val descriptors: List<ModuleDescriptorImpl>) : ModuleDependencies
public class LazyModuleDependencies(
storageManager: StorageManager,
computeDependencies: () -> List<ModuleDescriptorImpl>
) : ModuleDependencies {
private val dependencies = storageManager.createLazyValue(computeDependencies)
override val descriptors: List<ModuleDescriptorImpl>
get() = dependencies()
}