Rename LF: DefinitelyNotNullTypeParameters -> DefinitelyNonNullableTypes
This commit is contained in:
committed by
teamcityserver
parent
0e7d51b04d
commit
d91155558b
@@ -308,11 +308,11 @@ class TypeResolver(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!languageVersionSettings.supportsFeature(LanguageFeature.DefinitelyNotNullTypeParameters)) {
|
if (!languageVersionSettings.supportsFeature(LanguageFeature.DefinitelyNonNullableTypes)) {
|
||||||
c.trace.report(
|
c.trace.report(
|
||||||
UNSUPPORTED_FEATURE.on(
|
UNSUPPORTED_FEATURE.on(
|
||||||
intersectionType,
|
intersectionType,
|
||||||
LanguageFeature.DefinitelyNotNullTypeParameters to languageVersionSettings
|
LanguageFeature.DefinitelyNonNullableTypes to languageVersionSettings
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|||||||
+1
-1
@@ -366,7 +366,7 @@ abstract class AbstractTypeApproximator(
|
|||||||
return typeWithErasedNullability
|
return typeWithErasedNullability
|
||||||
}
|
}
|
||||||
|
|
||||||
return if (conf.definitelyNotNullType || languageVersionSettings.supportsFeature(LanguageFeature.DefinitelyNotNullTypeParameters)) {
|
return if (conf.definitelyNotNullType || languageVersionSettings.supportsFeature(LanguageFeature.DefinitelyNonNullableTypes)) {
|
||||||
approximatedOriginalType?.makeDefinitelyNotNullOrNotNull()
|
approximatedOriginalType?.makeDefinitelyNotNullOrNotNull()
|
||||||
} else {
|
} else {
|
||||||
if (toSuper)
|
if (toSuper)
|
||||||
|
|||||||
+5
-5
@@ -193,7 +193,7 @@ class DescriptorSerializer private constructor(
|
|||||||
|
|
||||||
if (metDefinitelyNotNullType) {
|
if (metDefinitelyNotNullType) {
|
||||||
builder.addVersionRequirement(
|
builder.addVersionRequirement(
|
||||||
writeLanguageVersionRequirement(LanguageFeature.DefinitelyNotNullTypeParameters, versionRequirementTable)
|
writeLanguageVersionRequirement(LanguageFeature.DefinitelyNonNullableTypes, versionRequirementTable)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -320,7 +320,7 @@ class DescriptorSerializer private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (local.metDefinitelyNotNullType) {
|
if (local.metDefinitelyNotNullType) {
|
||||||
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNotNullTypeParameters))
|
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNonNullableTypes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,7 +407,7 @@ class DescriptorSerializer private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (local.metDefinitelyNotNullType) {
|
if (local.metDefinitelyNotNullType) {
|
||||||
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNotNullTypeParameters))
|
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNonNullableTypes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ class DescriptorSerializer private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (local.metDefinitelyNotNullType) {
|
if (local.metDefinitelyNotNullType) {
|
||||||
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNotNullTypeParameters))
|
builder.addVersionRequirement(writeVersionRequirement(LanguageFeature.DefinitelyNonNullableTypes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -513,7 +513,7 @@ class DescriptorSerializer private constructor(
|
|||||||
builder.addAllVersionRequirement(serializeVersionRequirements(descriptor))
|
builder.addAllVersionRequirement(serializeVersionRequirements(descriptor))
|
||||||
if (local.metDefinitelyNotNullType) {
|
if (local.metDefinitelyNotNullType) {
|
||||||
builder.addVersionRequirement(
|
builder.addVersionRequirement(
|
||||||
writeLanguageVersionRequirement(LanguageFeature.DefinitelyNotNullTypeParameters, versionRequirementTable)
|
writeLanguageVersionRequirement(LanguageFeature.DefinitelyNonNullableTypes, versionRequirementTable)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_BACKEND: JVM_IR
|
// IGNORE_BACKEND: JVM_IR
|
||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +StrictJavaNullabilityAssertions +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +StrictJavaNullabilityAssertions +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated +DefinitelyNonNullableTypes
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_BACKEND: JVM
|
// IGNORE_BACKEND: JVM
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: T & Any) = x!!
|
fun <T> foo(x: T, y: T & Any) = x!!
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: T & Any) = x!!
|
fun <T> foo(x: T, y: T & Any) = x!!
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun main(x: Collection<String>) {
|
fun main(x: Collection<String>) {
|
||||||
if (x is List<!SYNTAX!><!> <!SYNTAX!><!SYNTAX!><!>& Any)<!> {}
|
if (x is List<!SYNTAX!><!> <!SYNTAX!><!SYNTAX!><!>& Any)<!> {}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun main(x: Collection<String>) {
|
fun main(x: Collection<String>) {
|
||||||
if (x is List<!SYNTAX!><!> <!SYNTAX!><!SYNTAX!><!>& Any)<!> {}
|
if (x is List<!SYNTAX!><!> <!SYNTAX!><!SYNTAX!><!>& Any)<!> {}
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
// !LANGUAGE: -DefinitelyNotNullTypeParameters
|
// !LANGUAGE: -DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: T & Any): List<T & Any>? = null
|
fun <T> foo(x: T, y: T & Any): List<T & Any>? = null
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
// !LANGUAGE: -DefinitelyNotNullTypeParameters
|
// !LANGUAGE: -DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: <!UNSUPPORTED_FEATURE!>T & Any<!>): List<<!UNSUPPORTED_FEATURE!>T & Any<!>>? = null
|
fun <T> foo(x: T, y: <!UNSUPPORTED_FEATURE!>T & Any<!>): List<<!UNSUPPORTED_FEATURE!>T & Any<!>>? = null
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> toDefNotNull(s: T): T & Any = s!!
|
fun <T> toDefNotNull(s: T): T & Any = s!!
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> toDefNotNull(s: T): T & Any = s!!
|
fun <T> toDefNotNull(s: T): T & Any = s!!
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// FIR_IDENTICAL
|
// FIR_IDENTICAL
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// !LANGUAGE: -DefinitelyNotNullTypeParameters
|
// !LANGUAGE: -DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun Any.bar() {}
|
fun Any.bar() {}
|
||||||
fun Boolean.baz() {}
|
fun Boolean.baz() {}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// FIR_IDENTICAL
|
// FIR_IDENTICAL
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun Any.bar() {}
|
fun Any.bar() {}
|
||||||
fun Boolean.baz() {}
|
fun Boolean.baz() {}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T : Any> foo(x: T & Any, y: List<String & Any> & Any) {}
|
fun <T : Any> foo(x: T & Any, y: List<String & Any> & Any) {}
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T : Any> foo(x: <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>T<!> & Any, y: <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>List<<!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>String<!> & Any><!> & Any) {}
|
fun <T : Any> foo(x: <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>T<!> & Any, y: <!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>List<<!INCORRECT_LEFT_COMPONENT_OF_INTERSECTION!>String<!> & Any><!> & Any) {}
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
interface A<T> {
|
interface A<T> {
|
||||||
fun foo(x: T): T
|
fun foo(x: T): T
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
interface A<T> {
|
interface A<T> {
|
||||||
fun foo(x: T): T
|
fun foo(x: T): T
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
|
|
||||||
// FILE: A.java
|
// FILE: A.java
|
||||||
import org.jetbrains.annotations.*;
|
import org.jetbrains.annotations.*;
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +DefinitelyNonNullableTypes +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
|
|
||||||
// FILE: A.java
|
// FILE: A.java
|
||||||
import org.jetbrains.annotations.*;
|
import org.jetbrains.annotations.*;
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
inline fun <reified T : Any> foo() {}
|
inline fun <reified T : Any> foo() {}
|
||||||
|
|
||||||
|
|||||||
compiler/testData/diagnostics/tests/explicitDefinitelyNotNullableViaIntersection/reifiedArguments.kt
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
inline fun <reified T : Any> foo() {}
|
inline fun <reified T : Any> foo() {}
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: T & Any): T & Any = x ?: y
|
fun <T> foo(x: T, y: T & Any): T & Any = x ?: y
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
|
|
||||||
fun <T> foo(x: T, y: T & Any): T & Any = x ?: y
|
fun <T> foo(x: T, y: T & Any): T & Any = x ?: y
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
// !LANGUAGE: +DefinitelyNotNullTypeParameters
|
// !LANGUAGE: +DefinitelyNonNullableTypes
|
||||||
// COMPILER_ARGUMENTS: -XXLanguage:+DefinitelyNotNullTypeParameters
|
// COMPILER_ARGUMENTS: -XXLanguage:+DefinitelyNonNullableTypes
|
||||||
package test
|
package test
|
||||||
|
|
||||||
fun <T> foo(x: T & Any, y: List<T & Any>, z: (T & Any) -> T & Any): T & Any = x
|
fun <T> foo(x: T & Any, y: List<T & Any>, z: (T & Any) -> T & Any): T & Any = x
|
||||||
|
|||||||
@@ -229,6 +229,7 @@ enum class LanguageFeature(
|
|||||||
ProhibitSmartcastsOnPropertyFromAlienBaseClass(KOTLIN_1_7, kind = BUG_FIX),
|
ProhibitSmartcastsOnPropertyFromAlienBaseClass(KOTLIN_1_7, kind = BUG_FIX),
|
||||||
ProhibitInvalidCharsInNativeIdentifiers(KOTLIN_1_7, kind = BUG_FIX),
|
ProhibitInvalidCharsInNativeIdentifiers(KOTLIN_1_7, kind = BUG_FIX),
|
||||||
DefinitelyNotNullTypeParameters(KOTLIN_1_7),
|
DefinitelyNotNullTypeParameters(KOTLIN_1_7),
|
||||||
|
DefinitelyNonNullableTypes(KOTLIN_1_7),
|
||||||
|
|
||||||
// Temporarily disabled, see KT-27084/KT-22379
|
// Temporarily disabled, see KT-27084/KT-22379
|
||||||
SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),
|
SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),
|
||||||
|
|||||||
Reference in New Issue
Block a user