From 624204c7b48385f55b5568f1fae9e340aab7f3da Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 10 Aug 2020 20:59:55 +0200 Subject: [PATCH] JVM IR: remove outdated code in JvmIrCodegenFactory --- .../kotlin/codegen/ClassFileFactory.java | 4 ++-- .../kotlin/codegen/CodegenFactory.kt | 21 ++++------------ .../kotlin/backend/jvm/JvmIrCodegenFactory.kt | 24 ------------------- 3 files changed, 7 insertions(+), 42 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java index 87620c140b1..f6fe43879ad 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java @@ -254,14 +254,14 @@ public class ClassFileFactory implements OutputFileCollection { public PackageCodegen forPackage(@NotNull FqName fqName, @NotNull Collection files) { assert !isDone : "Already done!"; registerSourceFiles(files); - return state.getCodegenFactory().createPackageCodegen(state, files, fqName); + return new PackageCodegenImpl(state, files, fqName); } @NotNull public MultifileClassCodegen forMultifileClass(@NotNull FqName facadeFqName, @NotNull Collection files) { assert !isDone : "Already done!"; registerSourceFiles(files); - return state.getCodegenFactory().createMultifileClassCodegen(state, files, facadeFqName); + return new MultifileClassCodegenImpl(state, files, facadeFqName); } private void registerSourceFiles(Collection files) { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/CodegenFactory.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/CodegenFactory.kt index 7097de4a5bd..224882e1080 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/CodegenFactory.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/CodegenFactory.kt @@ -26,10 +26,6 @@ import org.jetbrains.kotlin.psi.KtFile interface CodegenFactory { fun generateModule(state: GenerationState, files: Collection) - fun createPackageCodegen(state: GenerationState, files: Collection, fqName: FqName): PackageCodegen - - fun createMultifileClassCodegen(state: GenerationState, files: Collection, fqName: FqName): MultifileClassCodegen - companion object { fun doCheckCancelled(state: GenerationState) { if (state.classBuilderMode.generateBodies) { @@ -49,8 +45,7 @@ object DefaultCodegenFactory : CodegenFactory { if (fileClassInfo.withJvmMultifileClass) { filesInMultifileClasses.putValue(fileClassInfo.facadeClassFqName, file) - } - else { + } else { filesInPackages.putValue(file.packageFqName, file) } } @@ -68,23 +63,17 @@ object DefaultCodegenFactory : CodegenFactory { } } - override fun createPackageCodegen(state: GenerationState, files: Collection, fqName: FqName) = - PackageCodegenImpl(state, files, fqName) - - override fun createMultifileClassCodegen(state: GenerationState, files: Collection, fqName: FqName) = - MultifileClassCodegenImpl(state, files, fqName) - private fun generateMultifileClass(state: GenerationState, multifileClassFqName: FqName, files: Collection) { state.factory.forMultifileClass(multifileClassFqName, files).generate() } fun generatePackage( - state: GenerationState, - packageFqName: FqName, - jetFiles: Collection + state: GenerationState, + packageFqName: FqName, + ktFiles: Collection ) { // We do not really generate package class, but use old package fqName to identify package in module-info. //FqName packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName); - state.factory.forPackage(packageFqName, jetFiles).generate() + state.factory.forPackage(packageFqName, ktFiles).generate() } } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt index 5e536293cca..a8d884a82b9 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt @@ -18,21 +18,15 @@ package org.jetbrains.kotlin.backend.jvm import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig import org.jetbrains.kotlin.codegen.CodegenFactory -import org.jetbrains.kotlin.codegen.MultifileClassCodegen -import org.jetbrains.kotlin.codegen.PackageCodegen -import org.jetbrains.kotlin.codegen.PackageCodegenImpl import org.jetbrains.kotlin.codegen.state.GenerationState -import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.descriptors.IrFunctionFactory import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi2ir.PsiSourceManager class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory { - override fun generateModule(state: GenerationState, files: Collection) { JvmBackendFacade.doGenerateFiles(files, state, phaseConfig) } @@ -54,22 +48,4 @@ class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory state, irModuleFragment, symbolTable, sourceManager, phaseConfig, irProviders, extensions, serializerFactory ) } - - override fun createPackageCodegen(state: GenerationState, files: Collection, fqName: FqName): PackageCodegen { - val impl = PackageCodegenImpl(state, files, fqName) - - return object : PackageCodegen { - override fun generate() { - JvmBackendFacade.doGenerateFiles(files, state, phaseConfig) - } - - override fun getPackageFragment(): PackageFragmentDescriptor { - return impl.packageFragment - } - } - } - - override fun createMultifileClassCodegen(state: GenerationState, files: Collection, fqName: FqName): MultifileClassCodegen { - TODO() - } }