Remove dependency of module 'backend' on 'backend.jvm' and 'ir.tree'

This breaks the circular dependency between 'backend' and 'backend.jvm'
This commit is contained in:
Alexander Udalov
2017-06-03 15:45:06 +03:00
parent cf04157ec8
commit e6001f57fa
21 changed files with 98 additions and 53 deletions
@@ -17,11 +17,13 @@
package org.jetbrains.kotlin.codegen
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAllTo
import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.descriptors.PackagePartProvider
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.AnalyzingUtils
@@ -64,7 +66,8 @@ object GenerationUtils {
val state = GenerationState(
files.first().project, classBuilderFactory, analysisResult.moduleDescriptor, analysisResult.bindingContext,
files, configuration
files, configuration,
codegenFactory = if (configuration.getBoolean(JVMConfigurationKeys.IR)) JvmIrCodegenFactory else DefaultCodegenFactory
)
if (analysisResult.shouldGenerateCode) {
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION)
+1
View File
@@ -30,5 +30,6 @@
<orderEntry type="library" scope="TEST" name="junit-4.12" level="project" />
<orderEntry type="library" name="intellij-core" level="project" />
<orderEntry type="library" name="idea-full" level="project" />
<orderEntry type="module" module-name="backend.jvm" />
</component>
</module>