LazinessTokens introduced to enable/disable building lazy types

This commit is contained in:
Andrey Breslav
2014-11-01 19:07:02 +02:00
parent 2334bf4c70
commit 7d9be42969
18 changed files with 65 additions and 21 deletions
@@ -42,6 +42,7 @@ import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinderFactory
import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM
import org.jetbrains.jet.lang.resolve.kotlin.JavaDeclarationCheckerProvider
import org.jetbrains.jet.lang.resolve.java.JavaFlexibleTypeCapabilitiesProvider
import org.jetbrains.jet.context.LazyResolveToken
// NOTE: After making changes, you need to re-generate the injectors.
// To do that, you can run main in this file.
@@ -188,7 +189,8 @@ private fun generatorForLazyResolveWithJava() =
javaClass<PsiBasedExternalAnnotationResolver>(),
javaClass<JavaPropertyInitializerEvaluatorImpl>(),
javaClass<JavaSourceElementFactoryImpl>(),
javaClass<JavaFlexibleTypeCapabilitiesProvider>()
javaClass<JavaFlexibleTypeCapabilitiesProvider>(),
javaClass<LazyResolveToken>()
)
field(javaClass<AdditionalCheckerProvider>(),
init = GivenExpression(javaClass<JavaDeclarationCheckerProvider>().getName() + ".INSTANCE$"))
@@ -250,6 +252,8 @@ private fun generatorForLazyResolve() =
parameter(javaClass<AdditionalCheckerProvider>())
publicField(javaClass<ResolveSession>())
field(javaClass<LazyResolveToken>())
}
private fun generator(