Move GenerationState member up to further simplify constructor usages

This commit is contained in:
Alexey Tsvetkov
2015-09-01 15:10:53 +03:00
parent 1d5b869bee
commit 7101f9a3a4
6 changed files with 19 additions and 22 deletions
@@ -47,10 +47,10 @@ public class GenerationState jvmOverloads constructor(
public val generateDeclaredClassFilter: GenerationState.GenerateClassFilter = GenerationState.GenerateClassFilter.GENERATE_ALL,
disableInline: Boolean = false,
disableOptimization: Boolean = false,
public val packagesWithObsoleteParts: Collection<FqName> = emptySet(),
// for PackageCodegen in incremental compilation mode
public val moduleId: String? = null,
public val diagnostics: DiagnosticSink = DiagnosticSink.DO_NOTHING,
// for PackageCodegen in incremental compilation mode
public val packagesWithObsoleteParts: Collection<FqName> = emptySet(),
public val moduleId: String? = null,
// TODO: temporary hack, see JetTypeMapperWithOutDirectory state for details
public val outDirectory: File? = null,
public val progress: Progress = Progress.DEAF
@@ -383,9 +383,9 @@ public class KotlinToJVMBytecodeCompiler {
GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
diagnosticHolder,
packagesWithObsoleteParts,
moduleId,
diagnosticHolder,
outputDirectory
);
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled();
@@ -338,10 +338,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
/*generateClassFilter=*/stubGenerationStrategy.getGenerateClassFilter(),
/*disableInline=*/false,
/*disableOptimization=*/false,
Collections.<FqName>emptySet(),
null,
forExtraDiagnostics,
null
forExtraDiagnostics
);
KotlinCodegenFacade.prepareForCompilation(state);
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.resolve.AnalyzingUtils;
import org.jetbrains.kotlin.resolve.BindingTraceContext;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
@@ -66,10 +65,7 @@ public class CodegenTestUtil {
GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
Collections.<FqName>emptySet(),
null,
forExtraDiagnostics,
null
forExtraDiagnostics
);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
@@ -59,8 +59,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.inline.InlineUtil
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
import java.util.ArrayList
import java.util.WeakHashMap
import java.util.*
import com.intellij.debugger.engine.DebuggerUtils as JDebuggerUtils
class PositionedElement(val className: String?, val element: PsiElement?)
@@ -321,8 +320,12 @@ public class JetPositionManager(private val myDebugProcess: DebugProcess) : Mult
val analysisResult = file.analyzeFullyAndGetResult()
analysisResult.throwIfError()
val state = GenerationState(project, ClassBuilderFactories.THROW_EXCEPTION, analysisResult.moduleDescriptor,
analysisResult.bindingContext, listOf(file))
val state = GenerationState(
project,
ClassBuilderFactories.THROW_EXCEPTION,
analysisResult.moduleDescriptor,
analysisResult.bindingContext,
listOf(file))
state.beforeCompile()
return state.typeMapper
}
@@ -437,8 +440,7 @@ public class JetPositionManager(private val myDebugProcess: DebugProcess) : Mult
val element = getElementToCreateTypeMapperForLibraryFile(notPositionedElement)
val analysisResult = element!!.analyzeAndGetResult()
val state = GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION,
analysisResult.moduleDescriptor, analysisResult.bindingContext, listOf(file))
val state = GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION, analysisResult.moduleDescriptor, analysisResult.bindingContext, listOf(file))
state.beforeCompile()
return state.typeMapper
}
@@ -47,7 +47,6 @@ import org.jetbrains.kotlin.idea.util.DebuggerUtils;
import org.jetbrains.kotlin.idea.util.InfinitePeriodicalTask;
import org.jetbrains.kotlin.idea.util.LongRunningReadTask;
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.psi.JetClassOrObject;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetScript;
@@ -234,9 +233,12 @@ public class KotlinBytecodeToolWindow extends JPanel implements Disposable {
state = new GenerationState(jetFile.getProject(), ClassBuilderFactories.TEST,
resolutionFacade.getModuleDescriptor(), bindingContext,
toProcess, !enableAssertions, !enableAssertions,
toProcess,
!enableAssertions,
!enableAssertions,
generateClassFilter,
!enableInline, !enableOptimization, Collections.<FqName>emptySet(), null,
!enableInline,
!enableOptimization,
sink);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
}