Create LazyClassDescriptors for local classes

This commit is contained in:
Andrey Breslav
2015-01-23 16:19:48 +03:00
parent d016aa8f4d
commit 202c44e969
11 changed files with 234 additions and 109 deletions
@@ -53,6 +53,7 @@ import org.jetbrains.kotlin.types.DynamicTypesAllowed
import org.jetbrains.kotlin.types.DynamicTypesSettings
import org.jetbrains.kotlin.resolve.lazy.NoTopLevelDescriptorProvider
import org.jetbrains.kotlin.resolve.lazy.NoFileScopeProvider
import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl
// NOTE: After making changes, you need to re-generate the injectors.
// To do that, you can run main in this file.
@@ -121,12 +122,15 @@ private fun generatorForLazyLocalClassifierAnalyzer() =
parameter<ModuleDescriptor>(name = "module", useAsContext = true)
parameter<AdditionalCheckerProvider>()
parameter<DynamicTypesSettings>()
parameter<LocalClassDescriptorManager>()
publicField<LazyTopDownAnalyzer>()
field<NoTopLevelDescriptorProvider>()
field<NoFileScopeProvider>()
field<LazyLocalClassifierAnalyzer>()
field<DeclarationScopeProviderForLocalClassifierAnalyzer>()
field<LocalLazyDeclarationResolver>()
}
private fun generatorForLazyBodyResolve() =