Pass CompilerConfiguration to GenerationState instead of ton of parameters
This commit is contained in:
@@ -16,9 +16,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.codegen
|
||||
|
||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||
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.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||
@@ -33,7 +35,6 @@ abstract class AbstractDumpDeclarationsTest : CodegenTestCase() {
|
||||
compileAndCompareDump(files, expectedResult)
|
||||
}
|
||||
|
||||
|
||||
private fun compileAndCompareDump(files: List<TestFile>, expectedResult: File) {
|
||||
configurationKind = ConfigurationKind.NO_KOTLIN_REFLECT
|
||||
|
||||
@@ -50,19 +51,15 @@ abstract class AbstractDumpDeclarationsTest : CodegenTestCase() {
|
||||
}
|
||||
|
||||
private fun compileManyFilesGetDeclarationsDump(files: List<KtFile>): File {
|
||||
val analysisResult = JvmResolveUtil.analyzeAndCheckForErrors(files, myEnvironment)
|
||||
|
||||
analysisResult.throwIfError()
|
||||
val (bindingContext, moduleDescriptor) =
|
||||
JvmResolveUtil.analyzeAndCheckForErrors(files, myEnvironment).apply(AnalysisResult::throwIfError)
|
||||
|
||||
val dumpToFile = KotlinTestUtils.tmpDirForTest(this).resolve(this.name + ".json")
|
||||
|
||||
val state = GenerationState(
|
||||
myEnvironment.project, ClassBuilderFactories.TEST,
|
||||
analysisResult.moduleDescriptor, analysisResult.bindingContext,
|
||||
files,
|
||||
disableCallAssertions = false,
|
||||
disableParamAssertions = false,
|
||||
dumpBinarySignatureMappingTo = dumpToFile)
|
||||
myEnvironment.project, ClassBuilderFactories.TEST, moduleDescriptor, bindingContext, files, CompilerConfiguration.EMPTY,
|
||||
dumpBinarySignatureMappingTo = dumpToFile
|
||||
)
|
||||
KotlinCodegenFacade.compileCorrectFiles(state, org.jetbrains.kotlin.codegen.CompilationErrorHandler.THROW_EXCEPTION)
|
||||
|
||||
state.destroy()
|
||||
|
||||
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState;
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys;
|
||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils;
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
@@ -57,13 +56,7 @@ public class CodegenTestUtil {
|
||||
analysisResult.getModuleDescriptor(),
|
||||
analysisResult.getBindingContext(),
|
||||
files.getPsiFiles(),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_CALL_ASSERTIONS, false),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_PARAM_ASSERTIONS, false),
|
||||
GenerationState.GenerateClassFilter.GENERATE_ALL,
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
|
||||
/* useTypeTableInSerializer = */ false,
|
||||
configuration.get(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, false)
|
||||
configuration
|
||||
);
|
||||
|
||||
if (analysisResult.getShouldGenerateCode()) {
|
||||
|
||||
@@ -66,13 +66,8 @@ public class GenerationUtils {
|
||||
CollectionsKt.first(files).getProject(), ClassBuilderFactories.TEST,
|
||||
analysisResult.getModuleDescriptor(), analysisResult.getBindingContext(),
|
||||
files,
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_CALL_ASSERTIONS, false),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_PARAM_ASSERTIONS, false),
|
||||
configuration,
|
||||
GenerationState.GenerateClassFilter.GENERATE_ALL,
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
|
||||
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
|
||||
configuration.get(JVMConfigurationKeys.USE_TYPE_TABLE, false),
|
||||
configuration.get(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, false),
|
||||
Collections.<FqName>emptySet(),
|
||||
Collections.<FqName>emptySet(),
|
||||
null,
|
||||
|
||||
Reference in New Issue
Block a user