Added AllowNullableArrayArgsInMain (1.4+) language setting
This commit is contained in:
@@ -125,7 +125,9 @@ class MainFunctionDetector {
|
||||
if (typeArguments.size != 1) return false
|
||||
|
||||
val typeArgument = typeArguments[0].type
|
||||
if (!KotlinBuiltIns.isStringOrNullableString(typeArgument)) {
|
||||
if (!(languageVersionSettings.supportsFeature(LanguageFeature.AllowNullableArrayArgsInMain) &&
|
||||
KotlinBuiltIns.isStringOrNullableString(typeArgument) || KotlinBuiltIns.isString(typeArgument))
|
||||
) {
|
||||
return false
|
||||
}
|
||||
if (typeArguments[0].projectionKind === Variance.IN_VARIANCE) {
|
||||
|
||||
+8
-4
@@ -92,12 +92,16 @@ fun parseLanguageVersionSettings(directives: Map<String, String>): CompilerTestL
|
||||
fun defaultLanguageVersionSettings(): CompilerTestLanguageVersionSettings =
|
||||
CompilerTestLanguageVersionSettings(emptyMap(), ApiVersion.LATEST_STABLE, LanguageVersion.LATEST_STABLE)
|
||||
|
||||
fun setupLanguageVersionSettingsForMultifileCompilerTests(files: List<File>, environment: KotlinCoreEnvironment) {
|
||||
fun languageVersionSettingsFromText(fileTexts: List<String>): LanguageVersionSettings {
|
||||
val allDirectives = HashMap<String, String>()
|
||||
for (file in files) {
|
||||
allDirectives.putAll(KotlinTestUtils.parseDirectives(file.readText()))
|
||||
for (fileText in fileTexts) {
|
||||
allDirectives.putAll(KotlinTestUtils.parseDirectives(fileText))
|
||||
}
|
||||
environment.configuration.languageVersionSettings = parseLanguageVersionSettingsOrDefault(allDirectives)
|
||||
return parseLanguageVersionSettingsOrDefault(allDirectives)
|
||||
}
|
||||
|
||||
fun setupLanguageVersionSettingsForMultifileCompilerTests(files: List<File>, environment: KotlinCoreEnvironment) {
|
||||
environment.configuration.languageVersionSettings = languageVersionSettingsFromText(files.map { it.readText() })
|
||||
}
|
||||
|
||||
fun setupLanguageVersionSettingsForCompilerTests(originalFileText: String, environment: KotlinCoreEnvironment) {
|
||||
|
||||
@@ -110,6 +110,7 @@ enum class LanguageFeature(
|
||||
MixedNamedArgumentsInTheirOwnPosition(KOTLIN_1_4),
|
||||
ProhibitTailrecOnVirtualMember(KOTLIN_1_4, kind = BUG_FIX),
|
||||
ProperComputationOrderOfTailrecDefaultParameters(KOTLIN_1_4),
|
||||
AllowNullableArrayArgsInMain(KOTLIN_1_4),
|
||||
|
||||
ProperVisibilityForCompanionObjectInstanceField(sinceVersion = null, kind = BUG_FIX),
|
||||
// Temporarily disabled, see KT-27084/KT-22379
|
||||
|
||||
Reference in New Issue
Block a user