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, public val generateDeclaredClassFilter: GenerationState.GenerateClassFilter = GenerationState.GenerateClassFilter.GENERATE_ALL,
disableInline: Boolean = false, disableInline: Boolean = false,
disableOptimization: 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, 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 // TODO: temporary hack, see JetTypeMapperWithOutDirectory state for details
public val outDirectory: File? = null, public val outDirectory: File? = null,
public val progress: Progress = Progress.DEAF public val progress: Progress = Progress.DEAF
@@ -383,9 +383,9 @@ public class KotlinToJVMBytecodeCompiler {
GenerationState.GenerateClassFilter.GENERATE_ALL, GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false), configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false), configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
diagnosticHolder,
packagesWithObsoleteParts, packagesWithObsoleteParts,
moduleId, moduleId,
diagnosticHolder,
outputDirectory outputDirectory
); );
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled(); ProgressIndicatorAndCompilationCanceledStatus.checkCanceled();
@@ -338,10 +338,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
/*generateClassFilter=*/stubGenerationStrategy.getGenerateClassFilter(), /*generateClassFilter=*/stubGenerationStrategy.getGenerateClassFilter(),
/*disableInline=*/false, /*disableInline=*/false,
/*disableOptimization=*/false, /*disableOptimization=*/false,
Collections.<FqName>emptySet(), forExtraDiagnostics
null,
forExtraDiagnostics,
null
); );
KotlinCodegenFacade.prepareForCompilation(state); 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.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.resolve.AnalyzingUtils; import org.jetbrains.kotlin.resolve.AnalyzingUtils;
import org.jetbrains.kotlin.resolve.BindingTraceContext; import org.jetbrains.kotlin.resolve.BindingTraceContext;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil; import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
@@ -66,10 +65,7 @@ public class CodegenTestUtil {
GenerationState.GenerateClassFilter.GENERATE_ALL, GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false), configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false), configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
Collections.<FqName>emptySet(), forExtraDiagnostics
null,
forExtraDiagnostics,
null
); );
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); 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.BindingContext
import org.jetbrains.kotlin.resolve.inline.InlineUtil import org.jetbrains.kotlin.resolve.inline.InlineUtil
import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.JvmClassName
import java.util.ArrayList import java.util.*
import java.util.WeakHashMap
import com.intellij.debugger.engine.DebuggerUtils as JDebuggerUtils import com.intellij.debugger.engine.DebuggerUtils as JDebuggerUtils
class PositionedElement(val className: String?, val element: PsiElement?) class PositionedElement(val className: String?, val element: PsiElement?)
@@ -321,8 +320,12 @@ public class JetPositionManager(private val myDebugProcess: DebugProcess) : Mult
val analysisResult = file.analyzeFullyAndGetResult() val analysisResult = file.analyzeFullyAndGetResult()
analysisResult.throwIfError() analysisResult.throwIfError()
val state = GenerationState(project, ClassBuilderFactories.THROW_EXCEPTION, analysisResult.moduleDescriptor, val state = GenerationState(
analysisResult.bindingContext, listOf(file)) project,
ClassBuilderFactories.THROW_EXCEPTION,
analysisResult.moduleDescriptor,
analysisResult.bindingContext,
listOf(file))
state.beforeCompile() state.beforeCompile()
return state.typeMapper return state.typeMapper
} }
@@ -437,8 +440,7 @@ public class JetPositionManager(private val myDebugProcess: DebugProcess) : Mult
val element = getElementToCreateTypeMapperForLibraryFile(notPositionedElement) val element = getElementToCreateTypeMapperForLibraryFile(notPositionedElement)
val analysisResult = element!!.analyzeAndGetResult() val analysisResult = element!!.analyzeAndGetResult()
val state = GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION, val state = GenerationState(file.getProject(), ClassBuilderFactories.THROW_EXCEPTION, analysisResult.moduleDescriptor, analysisResult.bindingContext, listOf(file))
analysisResult.moduleDescriptor, analysisResult.bindingContext, listOf(file))
state.beforeCompile() state.beforeCompile()
return state.typeMapper 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.InfinitePeriodicalTask;
import org.jetbrains.kotlin.idea.util.LongRunningReadTask; import org.jetbrains.kotlin.idea.util.LongRunningReadTask;
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil; import org.jetbrains.kotlin.idea.util.ProjectRootsUtil;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.psi.JetClassOrObject; import org.jetbrains.kotlin.psi.JetClassOrObject;
import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetScript; import org.jetbrains.kotlin.psi.JetScript;
@@ -234,9 +233,12 @@ public class KotlinBytecodeToolWindow extends JPanel implements Disposable {
state = new GenerationState(jetFile.getProject(), ClassBuilderFactories.TEST, state = new GenerationState(jetFile.getProject(), ClassBuilderFactories.TEST,
resolutionFacade.getModuleDescriptor(), bindingContext, resolutionFacade.getModuleDescriptor(), bindingContext,
toProcess, !enableAssertions, !enableAssertions, toProcess,
!enableAssertions,
!enableAssertions,
generateClassFilter, generateClassFilter,
!enableInline, !enableOptimization, Collections.<FqName>emptySet(), null, !enableInline,
!enableOptimization,
sink); sink);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
} }