Rename LV ImprovementsAroundTypeEnhancement into TypeEnhancementImprovementsInStrictMode

This commit is contained in:
Victor Petukhov
2021-03-24 16:14:01 +03:00
parent df08ed2ac0
commit 731e3ebae1
31 changed files with 39 additions and 39 deletions
@@ -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)
) )
) )
@@ -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,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// FULL_JDK // FULL_JDK
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// FULL_JDK // FULL_JDK
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// SKIP_TXT // SKIP_TXT
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT // SKIP_TXT
@@ -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,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: -ImprovementsAroundTypeEnhancement // !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: -ImprovementsAroundTypeEnhancement // !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !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,5 +1,5 @@
// JAVAC_EXPECTED_FILE // JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement // !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test; package test;
@@ -1,4 +1,4 @@
// !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,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,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;
@@ -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)
@@ -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
@@ -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