[Analysis] migrate analysis modules to use cliArgument helper instead of hardcoded CLI argument names

^KT-63294
This commit is contained in:
Ilya Kirillov
2023-11-08 11:15:02 +01:00
committed by Space Team
parent 6f097dc8f6
commit 063d73fa73
2 changed files with 12 additions and 6 deletions
@@ -6,6 +6,9 @@
package org.jetbrains.kotlin.analysis.test.framework.services.libraries
import org.jetbrains.kotlin.analysis.test.framework.utils.SkipTestException
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.cliArgument
import org.jetbrains.kotlin.config.JvmTarget
import org.jetbrains.kotlin.test.MockLibraryUtil
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
@@ -49,7 +52,7 @@ object CompilerExecutor {
fun parseCompilerOptionsFromTestdata(module: TestModule): List<String> = buildList {
module.directives[LanguageSettingsDirectives.API_VERSION].firstOrNull()?.let { apiVersion ->
addAll(listOf("-api-version", apiVersion.versionString))
addAll(listOf(CommonCompilerArguments::apiVersion.cliArgument, apiVersion.versionString))
}
module.directives[LanguageSettingsDirectives.LANGUAGE].firstOrNull()?.let {
@@ -57,7 +60,7 @@ object CompilerExecutor {
}
module.directives[JvmEnvironmentConfigurationDirectives.JVM_TARGET].firstOrNull()?.let { jvmTarget ->
addAll(listOf("-jvm-target", jvmTarget.description))
addAll(listOf(K2JVMCompilerArguments::jvmTarget.cliArgument, jvmTarget.description))
val jdkHome = when {
jvmTarget <= JvmTarget.JVM_1_8 -> KtTestUtil.getJdk8Home()
@@ -67,7 +70,7 @@ object CompilerExecutor {
else -> error("JDK for $jvmTarget is not found")
}
addAll(listOf("-jdk-home", jdkHome.toString()))
addAll(listOf(K2JVMCompilerArguments::jdkHome.cliArgument, jdkHome.toString()))
}
addAll(module.directives[Directives.COMPILER_ARGUMENTS])
@@ -12,6 +12,9 @@ import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem
import org.jetbrains.kotlin.analysis.decompiler.stub.file.ClsKotlinBinaryClassCache
import org.jetbrains.kotlin.analysis.decompiler.stub.file.DummyFileAttributeService
import org.jetbrains.kotlin.analysis.decompiler.stub.file.FileAttributeService
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.cliArgument
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.test.*
@@ -56,12 +59,12 @@ abstract class AbstractDecompiledClassTest : KotlinTestWithEnvironment() {
internal fun getClassFileToDecompile(testData: TestData, useStringTable: Boolean): VirtualFile {
val extraOptions = buildList {
this.add("-Xallow-kotlin-package")
this.add(CommonCompilerArguments::allowKotlinPackage.cliArgument)
if (useStringTable) {
this.add("-Xuse-type-table")
this.add(K2JVMCompilerArguments::useTypeTable.cliArgument)
}
this.addAll(testData.additionalCompilerOptions)
addAll(listOf("-language-version", getLanguageVersionToCompile().versionString))
addAll(listOf(CommonCompilerArguments::languageVersion.cliArgument, getLanguageVersionToCompile().versionString))
}
val library = CompilerTestUtil.compileJvmLibrary(
src = testData.directory.toFile(),