JVM IR: remove outdated code in JvmIrCodegenFactory
This commit is contained in:
@@ -254,14 +254,14 @@ public class ClassFileFactory implements OutputFileCollection {
|
|||||||
public PackageCodegen forPackage(@NotNull FqName fqName, @NotNull Collection<KtFile> files) {
|
public PackageCodegen forPackage(@NotNull FqName fqName, @NotNull Collection<KtFile> files) {
|
||||||
assert !isDone : "Already done!";
|
assert !isDone : "Already done!";
|
||||||
registerSourceFiles(files);
|
registerSourceFiles(files);
|
||||||
return state.getCodegenFactory().createPackageCodegen(state, files, fqName);
|
return new PackageCodegenImpl(state, files, fqName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public MultifileClassCodegen forMultifileClass(@NotNull FqName facadeFqName, @NotNull Collection<KtFile> files) {
|
public MultifileClassCodegen forMultifileClass(@NotNull FqName facadeFqName, @NotNull Collection<KtFile> files) {
|
||||||
assert !isDone : "Already done!";
|
assert !isDone : "Already done!";
|
||||||
registerSourceFiles(files);
|
registerSourceFiles(files);
|
||||||
return state.getCodegenFactory().createMultifileClassCodegen(state, files, facadeFqName);
|
return new MultifileClassCodegenImpl(state, files, facadeFqName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerSourceFiles(Collection<KtFile> files) {
|
private void registerSourceFiles(Collection<KtFile> files) {
|
||||||
|
|||||||
@@ -26,10 +26,6 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
interface CodegenFactory {
|
interface CodegenFactory {
|
||||||
fun generateModule(state: GenerationState, files: Collection<KtFile>)
|
fun generateModule(state: GenerationState, files: Collection<KtFile>)
|
||||||
|
|
||||||
fun createPackageCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName): PackageCodegen
|
|
||||||
|
|
||||||
fun createMultifileClassCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName): MultifileClassCodegen
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun doCheckCancelled(state: GenerationState) {
|
fun doCheckCancelled(state: GenerationState) {
|
||||||
if (state.classBuilderMode.generateBodies) {
|
if (state.classBuilderMode.generateBodies) {
|
||||||
@@ -49,8 +45,7 @@ object DefaultCodegenFactory : CodegenFactory {
|
|||||||
|
|
||||||
if (fileClassInfo.withJvmMultifileClass) {
|
if (fileClassInfo.withJvmMultifileClass) {
|
||||||
filesInMultifileClasses.putValue(fileClassInfo.facadeClassFqName, file)
|
filesInMultifileClasses.putValue(fileClassInfo.facadeClassFqName, file)
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
filesInPackages.putValue(file.packageFqName, file)
|
filesInPackages.putValue(file.packageFqName, file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -68,23 +63,17 @@ object DefaultCodegenFactory : CodegenFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createPackageCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName) =
|
|
||||||
PackageCodegenImpl(state, files, fqName)
|
|
||||||
|
|
||||||
override fun createMultifileClassCodegen(state: GenerationState, files: Collection<KtFile>, fqName: FqName) =
|
|
||||||
MultifileClassCodegenImpl(state, files, fqName)
|
|
||||||
|
|
||||||
private fun generateMultifileClass(state: GenerationState, multifileClassFqName: FqName, files: Collection<KtFile>) {
|
private fun generateMultifileClass(state: GenerationState, multifileClassFqName: FqName, files: Collection<KtFile>) {
|
||||||
state.factory.forMultifileClass(multifileClassFqName, files).generate()
|
state.factory.forMultifileClass(multifileClassFqName, files).generate()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun generatePackage(
|
fun generatePackage(
|
||||||
state: GenerationState,
|
state: GenerationState,
|
||||||
packageFqName: FqName,
|
packageFqName: FqName,
|
||||||
jetFiles: Collection<KtFile>
|
ktFiles: Collection<KtFile>
|
||||||
) {
|
) {
|
||||||
// We do not really generate package class, but use old package fqName to identify package in module-info.
|
// We do not really generate package class, but use old package fqName to identify package in module-info.
|
||||||
//FqName packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName);
|
//FqName packageClassFqName = PackageClassUtils.getPackageClassFqName(packageFqName);
|
||||||
state.factory.forPackage(packageFqName, jetFiles).generate()
|
state.factory.forPackage(packageFqName, ktFiles).generate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,21 +18,15 @@ package org.jetbrains.kotlin.backend.jvm
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
||||||
import org.jetbrains.kotlin.codegen.CodegenFactory
|
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.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrFunctionFactory
|
import org.jetbrains.kotlin.ir.descriptors.IrFunctionFactory
|
||||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||||
import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList
|
import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList
|
||||||
import org.jetbrains.kotlin.name.FqName
|
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi2ir.PsiSourceManager
|
import org.jetbrains.kotlin.psi2ir.PsiSourceManager
|
||||||
|
|
||||||
class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory {
|
class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory {
|
||||||
|
|
||||||
override fun generateModule(state: GenerationState, files: Collection<KtFile>) {
|
override fun generateModule(state: GenerationState, files: Collection<KtFile>) {
|
||||||
JvmBackendFacade.doGenerateFiles(files, state, phaseConfig)
|
JvmBackendFacade.doGenerateFiles(files, state, phaseConfig)
|
||||||
}
|
}
|
||||||
@@ -54,22 +48,4 @@ class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory
|
|||||||
state, irModuleFragment, symbolTable, sourceManager, phaseConfig, irProviders, extensions, serializerFactory
|
state, irModuleFragment, symbolTable, sourceManager, phaseConfig, irProviders, extensions, serializerFactory
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createPackageCodegen(state: GenerationState, files: Collection<KtFile>, 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<KtFile>, fqName: FqName): MultifileClassCodegen {
|
|
||||||
TODO()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user