Rename LV ImprovementsAroundTypeEnhancement into TypeEnhancementImprovementsInStrictMode
This commit is contained in:
@@ -141,7 +141,7 @@ fun StorageComponentContainer.configureJavaSpecificComponents(
|
|||||||
JavaResolverSettings.create(
|
JavaResolverSettings.create(
|
||||||
isReleaseCoroutines = languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines),
|
isReleaseCoroutines = languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines),
|
||||||
correctNullabilityForNotNullTypeParameter = languageVersionSettings.supportsFeature(LanguageFeature.ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated),
|
correctNullabilityForNotNullTypeParameter = languageVersionSettings.supportsFeature(LanguageFeature.ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated),
|
||||||
typeEnhancementImprovements = languageVersionSettings.supportsFeature(LanguageFeature.ImprovementsAroundTypeEnhancement)
|
typeEnhancementImprovementsInStrictMode = languageVersionSettings.supportsFeature(LanguageFeature.TypeEnhancementImprovementsInStrictMode)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -96,7 +96,7 @@ object JvmPlatformConfigurator : PlatformConfiguratorBase(
|
|||||||
) {
|
) {
|
||||||
override fun configureModuleComponents(container: StorageComponentContainer, languageVersionSettings: LanguageVersionSettings) {
|
override fun configureModuleComponents(container: StorageComponentContainer, languageVersionSettings: LanguageVersionSettings) {
|
||||||
container.useImplIf<WarningAwareUpperBoundChecker>(
|
container.useImplIf<WarningAwareUpperBoundChecker>(
|
||||||
!languageVersionSettings.supportsFeature(LanguageFeature.ImprovementsAroundTypeEnhancement)
|
!languageVersionSettings.supportsFeature(LanguageFeature.TypeEnhancementImprovementsInStrictMode)
|
||||||
)
|
)
|
||||||
|
|
||||||
container.useImpl<JavaNullabilityChecker>()
|
container.useImpl<JavaNullabilityChecker>()
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||||
// FULL_JDK
|
// FULL_JDK
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||||
// FULL_JDK
|
// FULL_JDK
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// JAVAC_EXPECTED_FILE
|
// JAVAC_EXPECTED_FILE
|
||||||
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
|
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
package test;
|
package test;
|
||||||
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ enum class LanguageFeature(
|
|||||||
* - preference of a type use annotation to annotation of another type: KT-24392
|
* - preference of a type use annotation to annotation of another type: KT-24392
|
||||||
* (if @NotNull has TYPE_USE and METHOD target, then `@NotNull Integer []` -> `Array<Int>..Array<out Int>?` instead of `Array<Int>..Array<out Int>`)
|
* (if @NotNull has TYPE_USE and METHOD target, then `@NotNull Integer []` -> `Array<Int>..Array<out Int>?` instead of `Array<Int>..Array<out Int>`)
|
||||||
*/
|
*/
|
||||||
ImprovementsAroundTypeEnhancement(KOTLIN_1_6),
|
TypeEnhancementImprovementsInStrictMode(KOTLIN_1_6),
|
||||||
|
|
||||||
// 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),
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class JavaResolverComponents(
|
|||||||
interface JavaResolverSettings {
|
interface JavaResolverSettings {
|
||||||
val isReleaseCoroutines: Boolean
|
val isReleaseCoroutines: Boolean
|
||||||
val correctNullabilityForNotNullTypeParameter: Boolean
|
val correctNullabilityForNotNullTypeParameter: Boolean
|
||||||
val typeEnhancementImprovements: Boolean
|
val typeEnhancementImprovementsInStrictMode: Boolean
|
||||||
|
|
||||||
object Default : JavaResolverSettings {
|
object Default : JavaResolverSettings {
|
||||||
override val isReleaseCoroutines: Boolean
|
override val isReleaseCoroutines: Boolean
|
||||||
@@ -90,7 +90,7 @@ interface JavaResolverSettings {
|
|||||||
override val correctNullabilityForNotNullTypeParameter: Boolean
|
override val correctNullabilityForNotNullTypeParameter: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
|
|
||||||
override val typeEnhancementImprovements: Boolean
|
override val typeEnhancementImprovementsInStrictMode: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,12 +98,12 @@ interface JavaResolverSettings {
|
|||||||
fun create(
|
fun create(
|
||||||
isReleaseCoroutines: Boolean,
|
isReleaseCoroutines: Boolean,
|
||||||
correctNullabilityForNotNullTypeParameter: Boolean,
|
correctNullabilityForNotNullTypeParameter: Boolean,
|
||||||
typeEnhancementImprovements: Boolean
|
typeEnhancementImprovementsInStrictMode: Boolean
|
||||||
): JavaResolverSettings =
|
): JavaResolverSettings =
|
||||||
object : JavaResolverSettings {
|
object : JavaResolverSettings {
|
||||||
override val isReleaseCoroutines get() = isReleaseCoroutines
|
override val isReleaseCoroutines get() = isReleaseCoroutines
|
||||||
override val correctNullabilityForNotNullTypeParameter get() = correctNullabilityForNotNullTypeParameter
|
override val correctNullabilityForNotNullTypeParameter get() = correctNullabilityForNotNullTypeParameter
|
||||||
override val typeEnhancementImprovements get() = typeEnhancementImprovements
|
override val typeEnhancementImprovementsInStrictMode get() = typeEnhancementImprovementsInStrictMode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -175,10 +175,10 @@ private fun LazyJavaResolverContext.extractDefaultNullabilityQualifier(
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
val areImprovementsEnabled = components.settings.typeEnhancementImprovements
|
val areImprovementsInStrictMode = components.settings.typeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
val nullabilityQualifier =
|
val nullabilityQualifier =
|
||||||
components.signatureEnhancement.extractNullability(typeQualifier, areImprovementsEnabled, typeParameterBounds = false)
|
components.signatureEnhancement.extractNullability(typeQualifier, areImprovementsInStrictMode, typeParameterBounds = false)
|
||||||
?.copy(isForWarningOnly = jsr305State.isWarning) ?: return null
|
?.copy(isForWarningOnly = jsr305State.isWarning) ?: return null
|
||||||
|
|
||||||
return JavaDefaultQualifiers(nullabilityQualifier, applicability)
|
return JavaDefaultQualifiers(nullabilityQualifier, applicability)
|
||||||
|
|||||||
+2
-2
@@ -208,8 +208,8 @@ class LazyJavaClassDescriptor(
|
|||||||
|
|
||||||
for (javaType in javaTypes) {
|
for (javaType in javaTypes) {
|
||||||
val kotlinType = c.typeResolver.transformJavaType(javaType, TypeUsage.SUPERTYPE.toAttributes())
|
val kotlinType = c.typeResolver.transformJavaType(javaType, TypeUsage.SUPERTYPE.toAttributes())
|
||||||
val areImprovementsEnabled = c.components.settings.typeEnhancementImprovements
|
val areImprovementsInStrictMode = c.components.settings.typeEnhancementImprovementsInStrictMode
|
||||||
val enhancedKotlinType = if (areImprovementsEnabled) {
|
val enhancedKotlinType = if (areImprovementsInStrictMode) {
|
||||||
c.components.signatureEnhancement.enhanceSuperType(kotlinType, c)
|
c.components.signatureEnhancement.enhanceSuperType(kotlinType, c)
|
||||||
} else kotlinType
|
} else kotlinType
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -320,10 +320,10 @@ class SignatureEnhancement(
|
|||||||
typeParameterForArgument: TypeParameterDescriptor?,
|
typeParameterForArgument: TypeParameterDescriptor?,
|
||||||
isFromStarProjection: Boolean
|
isFromStarProjection: Boolean
|
||||||
): JavaTypeQualifiers {
|
): JavaTypeQualifiers {
|
||||||
val areImprovementsEnabled = containerContext.components.settings.typeEnhancementImprovements
|
val areImprovementsInStrictMode = containerContext.components.settings.typeEnhancementImprovementsInStrictMode
|
||||||
|
|
||||||
val composedAnnotation =
|
val composedAnnotation =
|
||||||
if (isHeadTypeConstructor && typeContainer != null && typeContainer !is TypeParameterDescriptor && areImprovementsEnabled) {
|
if (isHeadTypeConstructor && typeContainer != null && typeContainer !is TypeParameterDescriptor && areImprovementsInStrictMode) {
|
||||||
val filteredContainerAnnotations = typeContainer.annotations.filter {
|
val filteredContainerAnnotations = typeContainer.annotations.filter {
|
||||||
val (_, targets) = annotationTypeQualifierResolver.resolveAnnotation(it) ?: return@filter false
|
val (_, targets) = annotationTypeQualifierResolver.resolveAnnotation(it) ?: return@filter false
|
||||||
/*
|
/*
|
||||||
@@ -357,7 +357,7 @@ class SignatureEnhancement(
|
|||||||
val (nullabilityFromBoundsForTypeBasedOnTypeParameter, isTypeParameterWithNotNullableBounds) =
|
val (nullabilityFromBoundsForTypeBasedOnTypeParameter, isTypeParameterWithNotNullableBounds) =
|
||||||
nullabilityInfoBoundsForTypeParameterUsage()
|
nullabilityInfoBoundsForTypeParameterUsage()
|
||||||
|
|
||||||
val annotationsNullability = composedAnnotation.extractNullability(areImprovementsEnabled, typeParameterBounds)
|
val annotationsNullability = composedAnnotation.extractNullability(areImprovementsInStrictMode, typeParameterBounds)
|
||||||
?.takeUnless { isFromStarProjection }
|
?.takeUnless { isFromStarProjection }
|
||||||
val nullabilityInfo =
|
val nullabilityInfo =
|
||||||
annotationsNullability
|
annotationsNullability
|
||||||
|
|||||||
Reference in New Issue
Block a user