LTDA: Initialize built-ins reference resolver with lazy tda

This commit is contained in:
Nikolay Krasko
2014-09-25 21:45:22 +04:00
parent 23c6498e1e
commit 994c8886bc
3 changed files with 307 additions and 5 deletions
@@ -63,6 +63,7 @@ public fun main(args: Array<String>) {
public fun createInjectorGenerators(): List<DependencyInjectorGenerator> =
listOf(
generatorForTopDownAnalyzerBasic(),
generatorForLazyTopDownAnalyzerBasic(),
generatorForTopDownAnalyzerForJvm(),
generatorForJavaDescriptorResolver(),
generatorForLazyResolveWithJava(),
@@ -93,6 +94,23 @@ private fun generatorForTopDownAnalyzerBasic() =
parameter(javaClass<AdditionalCheckerProvider>())
}
private fun generatorForLazyTopDownAnalyzerBasic() =
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForLazyTopDownAnalyzerBasic") {
parameter(javaClass<Project>())
parameter(javaClass<GlobalContext>(), useAsContext = true)
parameter(javaClass<BindingTrace>())
parameter(javaClass<ModuleDescriptorImpl>(), useAsContext = true)
parameter(javaClass<DeclarationProviderFactory>())
publicFields(
javaClass<ResolveSession>(),
javaClass<LazyTopDownAnalyzer>()
)
field(javaClass<AdditionalCheckerProvider>(),
init = GivenExpression(javaClass<AdditionalCheckerProvider.Empty>().getCanonicalName() + ".INSTANCE$"))
}
private fun generatorForLazyBodyResolve() =
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForLazyBodyResolve") {
parameter(javaClass<Project>())