Kotlin Facet: Always parse argument string to proper compiler arguments bean
#KT-16137 Fixed
#KT-16157 Fixed
#KT-16206 Fixed
Original commit: 4325632b3e
This commit is contained in:
@@ -24,7 +24,7 @@ class CompilerSettings {
|
|||||||
@JvmField var outputDirectoryForJsLibraryFiles: String = DEFAULT_OUTPUT_DIRECTORY
|
@JvmField var outputDirectoryForJsLibraryFiles: String = DEFAULT_OUTPUT_DIRECTORY
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val DEFAULT_ADDITIONAL_ARGUMENTS = "-version"
|
val DEFAULT_ADDITIONAL_ARGUMENTS = "-version"
|
||||||
private val DEFAULT_OUTPUT_DIRECTORY = "lib"
|
private val DEFAULT_OUTPUT_DIRECTORY = "lib"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.intellij.util.xmlb.annotations.Property
|
|||||||
import com.intellij.util.xmlb.annotations.Transient
|
import com.intellij.util.xmlb.annotations.Transient
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
||||||
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
import org.jetbrains.kotlin.utils.DescriptionAware
|
import org.jetbrains.kotlin.utils.DescriptionAware
|
||||||
|
|
||||||
sealed class TargetPlatformKind<out Version : DescriptionAware>(
|
sealed class TargetPlatformKind<out Version : DescriptionAware>(
|
||||||
@@ -96,6 +97,7 @@ class KotlinCompilerInfo {
|
|||||||
_commonCompilerArguments = value as? CommonCompilerArguments.DummyImpl
|
_commonCompilerArguments = value as? CommonCompilerArguments.DummyImpl
|
||||||
}
|
}
|
||||||
var k2jsCompilerArguments: K2JSCompilerArguments? = null
|
var k2jsCompilerArguments: K2JSCompilerArguments? = null
|
||||||
|
var k2jvmCompilerArguments: K2JVMCompilerArguments? = null
|
||||||
var compilerSettings: CompilerSettings? = null
|
var compilerSettings: CompilerSettings? = null
|
||||||
|
|
||||||
@get:Transient var coroutineSupport: CoroutineSupport
|
@get:Transient var coroutineSupport: CoroutineSupport
|
||||||
|
|||||||
@@ -87,7 +87,8 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
|
|||||||
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
||||||
if (facetSettings.useProjectSettings) return defaultArguments
|
if (facetSettings.useProjectSettings) return defaultArguments
|
||||||
val targetPlatform = facetSettings.versionInfo.targetPlatformKind as? TargetPlatformKind.Jvm ?: return defaultArguments
|
val targetPlatform = facetSettings.versionInfo.targetPlatformKind as? TargetPlatformKind.Jvm ?: return defaultArguments
|
||||||
return copyBean(defaultArguments).apply {
|
val arguments = facetSettings.compilerInfo.k2jvmCompilerArguments ?: defaultArguments
|
||||||
|
return copyBean(arguments).apply {
|
||||||
jvmTarget = targetPlatform.version.description
|
jvmTarget = targetPlatform.version.description
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user