Refactor inheritMultifileParts to be a JVM analysis flag
Instead of a JVMConfigurationKeys key. This will allow to use it in a checker in 'frontend.java'
This commit is contained in:
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.codegen.context.FieldOwnerContext
|
|||||||
import org.jetbrains.kotlin.codegen.context.MethodContext
|
import org.jetbrains.kotlin.codegen.context.MethodContext
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
import org.jetbrains.kotlin.config.IncrementalCompilation
|
||||||
|
import org.jetbrains.kotlin.config.JvmAnalysisFlags
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
|
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
@@ -80,7 +81,7 @@ class MultifileClassCodegenImpl(
|
|||||||
.filterIsInstance<DeserializedCallableMemberDescriptor>()
|
.filterIsInstance<DeserializedCallableMemberDescriptor>()
|
||||||
|
|
||||||
private val shouldGeneratePartHierarchy =
|
private val shouldGeneratePartHierarchy =
|
||||||
state.inheritMultifileParts
|
state.languageVersionSettings.getFlag(JvmAnalysisFlags.inheritMultifileParts)
|
||||||
|
|
||||||
private val partInternalNamesSorted = run {
|
private val partInternalNamesSorted = run {
|
||||||
val partInternalNamesSet = hashSetOf<String>()
|
val partInternalNamesSet = hashSetOf<String>()
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ class GenerationState private constructor(
|
|||||||
val assertionsMode: JVMAssertionsMode = configuration.get(JVMConfigurationKeys.ASSERTIONS_MODE, JVMAssertionsMode.DEFAULT)
|
val assertionsMode: JVMAssertionsMode = configuration.get(JVMConfigurationKeys.ASSERTIONS_MODE, JVMAssertionsMode.DEFAULT)
|
||||||
val isInlineDisabled: Boolean = configuration.getBoolean(CommonConfigurationKeys.DISABLE_INLINE)
|
val isInlineDisabled: Boolean = configuration.getBoolean(CommonConfigurationKeys.DISABLE_INLINE)
|
||||||
val useTypeTableInSerializer: Boolean = configuration.getBoolean(JVMConfigurationKeys.USE_TYPE_TABLE)
|
val useTypeTableInSerializer: Boolean = configuration.getBoolean(JVMConfigurationKeys.USE_TYPE_TABLE)
|
||||||
val inheritMultifileParts: Boolean = configuration.getBoolean(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS)
|
|
||||||
|
|
||||||
val rootContext: CodegenContext<*> = RootContext(this)
|
val rootContext: CodegenContext<*> = RootContext(this)
|
||||||
|
|
||||||
|
|||||||
+6
-5
@@ -268,11 +268,12 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
|
|||||||
)
|
)
|
||||||
result[AnalysisFlags.ignoreDataFlowInAssert] = JVMAssertionsMode.fromString(assertionsMode) != JVMAssertionsMode.LEGACY
|
result[AnalysisFlags.ignoreDataFlowInAssert] = JVMAssertionsMode.fromString(assertionsMode) != JVMAssertionsMode.LEGACY
|
||||||
JvmDefaultMode.fromStringOrNull(jvmDefault)?.let { result[JvmAnalysisFlags.jvmDefaultMode] = it }
|
JvmDefaultMode.fromStringOrNull(jvmDefault)?.let { result[JvmAnalysisFlags.jvmDefaultMode] = it }
|
||||||
?: collector.report(
|
?: collector.report(
|
||||||
CompilerMessageSeverity.ERROR,
|
CompilerMessageSeverity.ERROR,
|
||||||
"Unknown @JvmDefault mode: $jvmDefault, " +
|
"Unknown @JvmDefault mode: $jvmDefault, " +
|
||||||
"supported modes: ${JvmDefaultMode.values().map { it.description }}"
|
"supported modes: ${JvmDefaultMode.values().map { it.description }}"
|
||||||
)
|
)
|
||||||
|
result[JvmAnalysisFlags.inheritMultifileParts] = inheritMultifileParts
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -390,7 +390,6 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
|||||||
assertionsMode ?: JVMAssertionsMode.DEFAULT
|
assertionsMode ?: JVMAssertionsMode.DEFAULT
|
||||||
)
|
)
|
||||||
|
|
||||||
configuration.put(JVMConfigurationKeys.INHERIT_MULTIFILE_PARTS, arguments.inheritMultifileParts)
|
|
||||||
configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, arguments.useTypeTable)
|
configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, arguments.useTypeTable)
|
||||||
configuration.put(JVMConfigurationKeys.SKIP_RUNTIME_VERSION_CHECK, arguments.skipRuntimeVersionCheck)
|
configuration.put(JVMConfigurationKeys.SKIP_RUNTIME_VERSION_CHECK, arguments.skipRuntimeVersionCheck)
|
||||||
configuration.put(JVMConfigurationKeys.USE_FAST_CLASS_FILES_READING, !arguments.useOldClassFilesReading)
|
configuration.put(JVMConfigurationKeys.USE_FAST_CLASS_FILES_READING, !arguments.useOldClassFilesReading)
|
||||||
|
|||||||
@@ -69,8 +69,6 @@ public class JVMConfigurationKeys {
|
|||||||
CompilerConfigurationKey.create("do not throw NPE on explicit 'equals' call for null receiver of platform boxed primitive type");
|
CompilerConfigurationKey.create("do not throw NPE on explicit 'equals' call for null receiver of platform boxed primitive type");
|
||||||
public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
|
public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
|
||||||
CompilerConfigurationKey.create("disable optimization");
|
CompilerConfigurationKey.create("disable optimization");
|
||||||
public static final CompilerConfigurationKey<Boolean> INHERIT_MULTIFILE_PARTS =
|
|
||||||
CompilerConfigurationKey.create("compile multifile classes to a hierarchy of parts and facade");
|
|
||||||
public static final CompilerConfigurationKey<Boolean> USE_TYPE_TABLE =
|
public static final CompilerConfigurationKey<Boolean> USE_TYPE_TABLE =
|
||||||
CompilerConfigurationKey.create("use type table in serializer");
|
CompilerConfigurationKey.create("use type table in serializer");
|
||||||
|
|
||||||
|
|||||||
@@ -14,4 +14,7 @@ object JvmAnalysisFlags {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
val jvmDefaultMode by AnalysisFlag.Delegates.JvmDefaultModeDisabledByDefault
|
val jvmDefaultMode by AnalysisFlag.Delegates.JvmDefaultModeDisabledByDefault
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
val inheritMultifileParts by AnalysisFlag.Delegates.Boolean
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: Baz.java
|
// FILE: Baz.java
|
||||||
|
|
||||||
public class Baz {
|
public class Baz {
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: box.kt
|
// FILE: box.kt
|
||||||
|
|
||||||
import a.*
|
import a.*
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
// IGNORE_BACKEND: JVM_IR
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
|
||||||
@file:[JvmName("MultifileClass") JvmMultifileClass]
|
@file:[JvmName("MultifileClass") JvmMultifileClass]
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
// IGNORE_BACKEND: JVM_IR
|
||||||
// KOTLIN_CONFIGURATION_FLAGS: +JVM.INHERIT_MULTIFILE_PARTS
|
// !INHERIT_MULTIFILE_PARTS
|
||||||
// FILE: bar.kt
|
// FILE: bar.kt
|
||||||
|
|
||||||
@file:JvmName("Util")
|
@file:JvmName("Util")
|
||||||
|
|||||||
+6
-2
@@ -21,6 +21,7 @@ const val IGNORE_DATA_FLOW_IN_ASSERT_DIRECTIVE = "IGNORE_DATA_FLOW_IN_ASSERT"
|
|||||||
const val JVM_DEFAULT_MODE = "JVM_DEFAULT_MODE"
|
const val JVM_DEFAULT_MODE = "JVM_DEFAULT_MODE"
|
||||||
const val SKIP_METADATA_VERSION_CHECK = "SKIP_METADATA_VERSION_CHECK"
|
const val SKIP_METADATA_VERSION_CHECK = "SKIP_METADATA_VERSION_CHECK"
|
||||||
const val ALLOW_RESULT_RETURN_TYPE = "ALLOW_RESULT_RETURN_TYPE"
|
const val ALLOW_RESULT_RETURN_TYPE = "ALLOW_RESULT_RETURN_TYPE"
|
||||||
|
const val INHERIT_MULTIFILE_PARTS = "INHERIT_MULTIFILE_PARTS"
|
||||||
|
|
||||||
data class CompilerTestLanguageVersionSettings(
|
data class CompilerTestLanguageVersionSettings(
|
||||||
private val initialLanguageFeatures: Map<LanguageFeature, LanguageFeature.State>,
|
private val initialLanguageFeatures: Map<LanguageFeature, LanguageFeature.State>,
|
||||||
@@ -59,9 +60,11 @@ fun parseLanguageVersionSettings(directiveMap: Map<String, String>): CompilerTes
|
|||||||
val enableJvmDefault = directiveMap[JVM_DEFAULT_MODE]?.let { JvmAnalysisFlags.jvmDefaultMode to JvmDefaultMode.fromStringOrNull(it)!! }
|
val enableJvmDefault = directiveMap[JVM_DEFAULT_MODE]?.let { JvmAnalysisFlags.jvmDefaultMode to JvmDefaultMode.fromStringOrNull(it)!! }
|
||||||
val skipMetadataVersionCheck = AnalysisFlags.skipMetadataVersionCheck to directiveMap.containsKey(SKIP_METADATA_VERSION_CHECK)
|
val skipMetadataVersionCheck = AnalysisFlags.skipMetadataVersionCheck to directiveMap.containsKey(SKIP_METADATA_VERSION_CHECK)
|
||||||
val allowResultReturnType = AnalysisFlags.allowResultReturnType to directiveMap.containsKey(ALLOW_RESULT_RETURN_TYPE)
|
val allowResultReturnType = AnalysisFlags.allowResultReturnType to directiveMap.containsKey(ALLOW_RESULT_RETURN_TYPE)
|
||||||
|
val inheritMultifileParts = JvmAnalysisFlags.inheritMultifileParts to directiveMap.containsKey(INHERIT_MULTIFILE_PARTS)
|
||||||
|
|
||||||
if (apiVersionString == null && languageFeaturesString == null && experimental == null && useExperimental == null &&
|
if (apiVersionString == null && languageFeaturesString == null && experimental == null && useExperimental == null &&
|
||||||
!ignoreDataFlowInAssert.second && enableJvmDefault == null && !skipMetadataVersionCheck.second && !allowResultReturnType.second
|
!ignoreDataFlowInAssert.second && enableJvmDefault == null && !skipMetadataVersionCheck.second && !allowResultReturnType.second &&
|
||||||
|
!inheritMultifileParts.second
|
||||||
) {
|
) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@@ -77,7 +80,8 @@ fun parseLanguageVersionSettings(directiveMap: Map<String, String>): CompilerTes
|
|||||||
languageFeatures, apiVersion, languageVersion,
|
languageFeatures, apiVersion, languageVersion,
|
||||||
mapOf(
|
mapOf(
|
||||||
*listOfNotNull(
|
*listOfNotNull(
|
||||||
experimental, useExperimental, enableJvmDefault, ignoreDataFlowInAssert, skipMetadataVersionCheck, allowResultReturnType
|
experimental, useExperimental, enableJvmDefault, ignoreDataFlowInAssert, skipMetadataVersionCheck, allowResultReturnType,
|
||||||
|
inheritMultifileParts
|
||||||
).toTypedArray()
|
).toTypedArray()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -207,17 +207,17 @@ public abstract class CodegenTestCase extends KtUsefulTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (explicitLanguageVersionSettings != null) {
|
if (disableReleaseCoroutines) {
|
||||||
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, explicitLanguageVersionSettings);
|
explicitLanguageVersionSettings = new CompilerTestLanguageVersionSettings(
|
||||||
}
|
|
||||||
else if (disableReleaseCoroutines) {
|
|
||||||
CompilerTestLanguageVersionSettings compilerLanguageVersionSettings = new CompilerTestLanguageVersionSettings(
|
|
||||||
Collections.singletonMap(LanguageFeature.ReleaseCoroutines, LanguageFeature.State.DISABLED),
|
Collections.singletonMap(LanguageFeature.ReleaseCoroutines, LanguageFeature.State.DISABLED),
|
||||||
ApiVersion.LATEST_STABLE,
|
ApiVersion.LATEST_STABLE,
|
||||||
LanguageVersion.LATEST_STABLE,
|
LanguageVersion.LATEST_STABLE,
|
||||||
Collections.emptyMap()
|
Collections.emptyMap()
|
||||||
);
|
);
|
||||||
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, compilerLanguageVersionSettings);
|
}
|
||||||
|
|
||||||
|
if (explicitLanguageVersionSettings != null) {
|
||||||
|
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, explicitLanguageVersionSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateConfigurationWithFlags(configuration, kotlinConfigurationFlags);
|
updateConfigurationWithFlags(configuration, kotlinConfigurationFlags);
|
||||||
|
|||||||
Reference in New Issue
Block a user