Change CodegenFactory signature from Collection<KtFile?> to Collection<KtFile>
This commit is contained in:
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.codegen
|
package org.jetbrains.kotlin.codegen
|
||||||
|
|
||||||
import com.google.common.collect.Sets
|
|
||||||
import com.intellij.util.containers.MultiMap
|
import com.intellij.util.containers.MultiMap
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
@@ -25,7 +24,7 @@ import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStat
|
|||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
|
||||||
interface CodegenFactory {
|
interface CodegenFactory {
|
||||||
fun generateModule(state: GenerationState, files: Collection<KtFile?>, errorHandler: CompilationErrorHandler)
|
fun generateModule(state: GenerationState, files: Collection<KtFile>, errorHandler: CompilationErrorHandler)
|
||||||
|
|
||||||
fun createPackageCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName): PackageCodegen
|
fun createPackageCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName): PackageCodegen
|
||||||
|
|
||||||
@@ -41,13 +40,11 @@ interface CodegenFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
object DefaultCodegenFactory : CodegenFactory {
|
object DefaultCodegenFactory : CodegenFactory {
|
||||||
override fun generateModule(state: GenerationState, files: Collection<KtFile?>, errorHandler: CompilationErrorHandler) {
|
override fun generateModule(state: GenerationState, files: Collection<KtFile>, errorHandler: CompilationErrorHandler) {
|
||||||
val filesInPackages = MultiMap<FqName, KtFile>()
|
val filesInPackages = MultiMap<FqName, KtFile>()
|
||||||
val filesInMultifileClasses = MultiMap<FqName, KtFile>()
|
val filesInMultifileClasses = MultiMap<FqName, KtFile>()
|
||||||
|
|
||||||
for (file in files) {
|
for (file in files) {
|
||||||
if (file == null) throw IllegalArgumentException("A null file given for compilation")
|
|
||||||
|
|
||||||
val fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
|
val fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
|
||||||
|
|
||||||
if (fileClassInfo.withJvmMultifileClass) {
|
if (fileClassInfo.withJvmMultifileClass) {
|
||||||
|
|||||||
@@ -26,12 +26,10 @@ import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator
|
|||||||
|
|
||||||
class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory {
|
class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory {
|
||||||
|
|
||||||
override fun generateModule(state: GenerationState, files: Collection<KtFile?>, errorHandler: CompilationErrorHandler) {
|
override fun generateModule(state: GenerationState, files: Collection<KtFile>, errorHandler: CompilationErrorHandler) {
|
||||||
assert(!files.any { it == null })
|
|
||||||
|
|
||||||
val psi2ir = Psi2IrTranslator(state.languageVersionSettings)
|
val psi2ir = Psi2IrTranslator(state.languageVersionSettings)
|
||||||
val psi2irContext = psi2ir.createGeneratorContext(state.module, state.bindingContext, extensions = JvmGeneratorExtensions)
|
val psi2irContext = psi2ir.createGeneratorContext(state.module, state.bindingContext, extensions = JvmGeneratorExtensions)
|
||||||
@Suppress("UNCHECKED_CAST") val irModuleFragment = psi2ir.generateModuleFragment(psi2irContext, files as Collection<KtFile>)
|
val irModuleFragment = psi2ir.generateModuleFragment(psi2irContext, files)
|
||||||
JvmBackendFacade.doGenerateFilesInternal(state, errorHandler, irModuleFragment, psi2irContext, phaseConfig)
|
JvmBackendFacade.doGenerateFilesInternal(state, errorHandler, irModuleFragment, psi2irContext, phaseConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user