LightClassDataHolder: refactor, extract subinterfaces

This commit is contained in:
Pavel V. Talanov
2017-03-15 14:36:16 +03:00
parent 6d595e30c2
commit 04591bb938
8 changed files with 56 additions and 43 deletions
@@ -76,7 +76,9 @@ class CliLightClassGenerationSupport(project: Project) : LightClassGenerationSup
trace.setKotlinCodeAnalyzer(codeAnalyzer)
}
override fun createDataHolderForClassOrObject(classOrObject: KtClassOrObject, builder: LightClassBuilder): LightClassDataHolder {
override fun createDataHolderForClass(
classOrObject: KtClassOrObject, builder: LightClassBuilder
): LightClassDataHolder.ForClass {
//force resolve companion for light class generation
bindingContext.get(BindingContext.CLASS, classOrObject)?.companionObjectDescriptor
@@ -172,7 +174,7 @@ class CliLightClassGenerationSupport(project: Project) : LightClassGenerationSup
}
}
override fun createDataHolderForFacade(files: Collection<KtFile>, builder: LightClassBuilder): LightClassDataHolder {
override fun createDataHolderForFacade(files: Collection<KtFile>, builder: LightClassBuilder): LightClassDataHolder.ForFacade {
val (stub, _, diagnostics) = builder(getContext())
return LightClassDataHolderImpl(stub, diagnostics)
}