From 181a8d7d6a29f5a58cfc47f218c324bd8c0847c2 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Mon, 2 Jul 2018 18:50:35 +0300 Subject: [PATCH] Extract default language version settings for diagnostics tests And override it in unsigned types diagnostics tests. Remove InlineClasses feature directive from tests, because it's already enabled in that language version. --- .../allowedVarargsOfUnsignedTypes.kt | 2 -- .../explicitUnsignedLongTypeCheck.kt | 2 -- .../forbiddenEqualsOnUnsignedTypes.kt | 2 -- .../overloadResolutionOfBasicOperations.kt | 2 -- .../unsignedLiteralsInsideConstVals.kt | 2 -- .../unsignedLiteralsOverflowSignedBorder.kt | 2 -- .../unsignedLiteralsTypeCheck.kt | 2 -- .../varargTypeToArrayTypeCheck.kt | 2 -- .../kotlin/checkers/AbstractDiagnosticsTest.kt | 9 ++++++++- .../checkers/AbstractDiagnosticsWithUnsignedTypes.kt | 10 ++++++++++ 10 files changed, 18 insertions(+), 17 deletions(-) diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/allowedVarargsOfUnsignedTypes.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/allowedVarargsOfUnsignedTypes.kt index 598ada82f02..e25d1f0d2b7 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/allowedVarargsOfUnsignedTypes.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/allowedVarargsOfUnsignedTypes.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK // !DIAGNOSTICS: -UNUSED_PARAMETER fun ubyte(vararg a: UByte) {} diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/explicitUnsignedLongTypeCheck.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/explicitUnsignedLongTypeCheck.kt index f5f0a84a0bb..ab4586d8de2 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/explicitUnsignedLongTypeCheck.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/explicitUnsignedLongTypeCheck.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK // !DIAGNOSTICS: -UNUSED_PARAMETER val a0: Int = 1uL diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/forbiddenEqualsOnUnsignedTypes.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/forbiddenEqualsOnUnsignedTypes.kt index d4d1f7060a2..fe73b5e18cc 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/forbiddenEqualsOnUnsignedTypes.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/forbiddenEqualsOnUnsignedTypes.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK // !DIAGNOSTICS: -UNUSED_VARIABLE fun test( diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/overloadResolutionOfBasicOperations.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/overloadResolutionOfBasicOperations.kt index 44e99c0cfde..5ca1f23054a 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/overloadResolutionOfBasicOperations.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/overloadResolutionOfBasicOperations.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK // !DIAGNOSTICS: -UNUSED_VARIABLE fun test() { diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsInsideConstVals.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsInsideConstVals.kt index 6327517a02e..e8adca0b21a 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsInsideConstVals.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsInsideConstVals.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK const val u0 = 1u const val u1: UByte = 2u diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsOverflowSignedBorder.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsOverflowSignedBorder.kt index f83ccaebd30..15fd33ffa34 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsOverflowSignedBorder.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsOverflowSignedBorder.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK // !DIAGNOSTICS: -UNUSED_PARAMETER const val u1: UByte = 0xFFu diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsTypeCheck.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsTypeCheck.kt index a47fae4cd8e..87cd195259a 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsTypeCheck.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/unsignedLiteralsTypeCheck.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK val a0: Any = 1u diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/varargTypeToArrayTypeCheck.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/varargTypeToArrayTypeCheck.kt index ebb0d17eb8f..0d543d8e3aa 100644 --- a/compiler/testData/diagnostics/testsWithUnsignedTypes/varargTypeToArrayTypeCheck.kt +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/varargTypeToArrayTypeCheck.kt @@ -1,5 +1,3 @@ -// !LANGUAGE: +InlineClasses -// !SKIP_METADATA_VERSION_CHECK fun ubyte(vararg a: UByte): UByteArray = a fun ushort(vararg a: UShort): UShortArray = a diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt index fb1e4678cf8..02b21e0fe16 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt @@ -233,7 +233,14 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() { } } - return result ?: CompilerTestLanguageVersionSettings( + return result ?: defaultLanguageVersionSettings() + } + + /** + * Version settings used when no test data files have overriding version directives + */ + protected open fun defaultLanguageVersionSettings(): LanguageVersionSettings { + return CompilerTestLanguageVersionSettings( DEFAULT_DIAGNOSTIC_TESTS_FEATURES, LanguageVersionSettingsImpl.DEFAULT.apiVersion, LanguageVersionSettingsImpl.DEFAULT.languageVersion diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithUnsignedTypes.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithUnsignedTypes.kt index 15022085a3e..435f5bde07c 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithUnsignedTypes.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithUnsignedTypes.kt @@ -5,10 +5,20 @@ package org.jetbrains.kotlin.checkers +import org.jetbrains.kotlin.config.ApiVersion +import org.jetbrains.kotlin.config.LanguageVersion +import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.test.ConfigurationKind abstract class AbstractDiagnosticsWithUnsignedTypes : AbstractDiagnosticsTest() { override fun getConfigurationKind(): ConfigurationKind { return ConfigurationKind.WITH_UNSIGNED_TYPES } + + override fun defaultLanguageVersionSettings(): LanguageVersionSettings = + CompilerTestLanguageVersionSettings( + DEFAULT_DIAGNOSTIC_TESTS_FEATURES, + ApiVersion.KOTLIN_1_3, + LanguageVersion.KOTLIN_1_3 + ) } \ No newline at end of file