Move FirJvmClassCodegen inside fir:fir2ir:jvm-backend #KT-38156 Fixed

This removes dependency of IR JVM backend from FIR
This commit is contained in:
Mikhail Glukhikh
2020-04-24 18:55:35 +03:00
parent dbd4cecff6
commit 34ae35b2aa
14 changed files with 59 additions and 38 deletions
+1
View File
@@ -17,6 +17,7 @@ dependencies {
testCompile(project(":compiler:fir:fir2ir"))
testCompile(project(":compiler:fir:jvm"))
testCompile(project(":compiler:fir:fir2ir:jvm-backend"))
testCompile(project(":compiler:fir:fir-serialization"))
testCompile(project(":compiler:fir:cones"))
testCompile(project(":compiler:fir:resolve"))
testCompile(project(":compiler:fir:checkers"))
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.container.get
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.fir.backend.Fir2IrConverter
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendClassResolver
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmClassCodegen
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
import org.jetbrains.kotlin.fir.createSession
import org.jetbrains.kotlin.fir.resolve.firProvider
@@ -49,6 +50,7 @@ import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer
import org.jetbrains.kotlin.ir.backend.jvm.jvmResolveLibraries
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmManglerDesc
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.AnalyzingUtils
@@ -163,7 +165,12 @@ object GenerationUtils {
).build()
generationState.beforeCompile()
codegenFactory.generateModuleInFrontendIRMode(generationState, moduleFragment, symbolTable, sourceManager)
codegenFactory.generateModuleInFrontendIRMode(
generationState, moduleFragment, symbolTable, sourceManager
) { irClass, context, irFunction ->
FirJvmClassCodegen(irClass, context, irFunction, session)
}
generationState.factory.done()
return generationState
}