Use default argument values in PhaseConfig constructor
This commit is contained in:
+10
-22
@@ -5,18 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.backend.common.phaser
|
||||
|
||||
fun createDefaultPhaseConfig(compoundPhase: CompilerPhase<*, *, *>): PhaseConfig {
|
||||
val phases = compoundPhase.toPhaseMap()
|
||||
val enabled = phases.values.toMutableSet()
|
||||
|
||||
return PhaseConfig(
|
||||
compoundPhase, phases, enabled, emptySet(), emptySet(), emptySet(), emptySet(), emptySet(),
|
||||
needProfiling = false,
|
||||
checkConditions = false,
|
||||
checkStickyConditions = false
|
||||
)
|
||||
}
|
||||
|
||||
fun CompilerPhase<*, *, *>.toPhaseMap(): MutableMap<String, AnyNamedPhase> =
|
||||
getNamedSubphases().fold(mutableMapOf()) { acc, (_, phase) ->
|
||||
check(phase.name !in acc) { "Duplicate phase name '${phase.name}'"}
|
||||
@@ -26,16 +14,16 @@ fun CompilerPhase<*, *, *>.toPhaseMap(): MutableMap<String, AnyNamedPhase> =
|
||||
|
||||
class PhaseConfig(
|
||||
private val compoundPhase: CompilerPhase<*, *, *>,
|
||||
private val phases: MutableMap<String, AnyNamedPhase>,
|
||||
enabled: MutableSet<AnyNamedPhase>,
|
||||
val verbose: Set<AnyNamedPhase>,
|
||||
val toDumpStateBefore: Set<AnyNamedPhase>,
|
||||
val toDumpStateAfter: Set<AnyNamedPhase>,
|
||||
val toValidateStateBefore: Set<AnyNamedPhase>,
|
||||
val toValidateStateAfter: Set<AnyNamedPhase>,
|
||||
val needProfiling: Boolean,
|
||||
val checkConditions: Boolean,
|
||||
val checkStickyConditions: Boolean
|
||||
private val phases: MutableMap<String, AnyNamedPhase> = compoundPhase.toPhaseMap(),
|
||||
enabled: MutableSet<AnyNamedPhase> = phases.values.toMutableSet(),
|
||||
val verbose: Set<AnyNamedPhase> = emptySet(),
|
||||
val toDumpStateBefore: Set<AnyNamedPhase> = emptySet(),
|
||||
val toDumpStateAfter: Set<AnyNamedPhase> = emptySet(),
|
||||
val toValidateStateBefore: Set<AnyNamedPhase> = emptySet(),
|
||||
val toValidateStateAfter: Set<AnyNamedPhase> = emptySet(),
|
||||
val needProfiling: Boolean = false,
|
||||
val checkConditions: Boolean = false,
|
||||
val checkStickyConditions: Boolean = false
|
||||
) {
|
||||
private val enabledMut = enabled
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.intellij.openapi.util.text.StringUtil
|
||||
import com.intellij.openapi.wm.ToolWindow
|
||||
import com.intellij.util.Alarm
|
||||
import org.jetbrains.kotlin.analyzer.common.CommonPlatform
|
||||
import org.jetbrains.kotlin.backend.common.phaser.createDefaultPhaseConfig
|
||||
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
||||
import org.jetbrains.kotlin.backend.jvm.jvmPhases
|
||||
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
||||
@@ -320,7 +320,7 @@ class KotlinBytecodeToolWindow(private val myProject: Project, private val toolW
|
||||
.generateDeclaredClassFilter(generateClassFilter)
|
||||
.codegenFactory(
|
||||
if (configuration.getBoolean(JVMConfigurationKeys.IR))
|
||||
JvmIrCodegenFactory(createDefaultPhaseConfig(jvmPhases))
|
||||
JvmIrCodegenFactory(PhaseConfig(jvmPhases))
|
||||
else
|
||||
DefaultCodegenFactory
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user