提交 731e3eba 编写于 作者: V Victor Petukhov

Rename LV `ImprovementsAroundTypeEnhancement` into `TypeEnhancementImprovementsInStrictMode`

上级 df08ed2a
......@@ -141,7 +141,7 @@ fun StorageComponentContainer.configureJavaSpecificComponents(
JavaResolverSettings.create(
isReleaseCoroutines = languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines),
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) {
container.useImplIf<WarningAwareUpperBoundChecker>(
!languageVersionSettings.supportsFeature(LanguageFeature.ImprovementsAroundTypeEnhancement)
!languageVersionSettings.supportsFeature(LanguageFeature.TypeEnhancementImprovementsInStrictMode)
)
container.useImpl<JavaNullabilityChecker>()
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// FULL_JDK
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// FULL_JDK
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// SKIP_TXT
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
// !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS
// SKIP_TXT
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// !LANGUAGE: -ImprovementsAroundTypeEnhancement
// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
// JAVAC_EXPECTED_FILE
// !LANGUAGE: +ImprovementsAroundTypeEnhancement
// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode
package test;
......
......@@ -161,7 +161,7 @@ enum class LanguageFeature(
* - 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>`)
*/
ImprovementsAroundTypeEnhancement(KOTLIN_1_6),
TypeEnhancementImprovementsInStrictMode(KOTLIN_1_6),
// Temporarily disabled, see KT-27084/KT-22379
SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),
......
......@@ -81,7 +81,7 @@ class JavaResolverComponents(
interface JavaResolverSettings {
val isReleaseCoroutines: Boolean
val correctNullabilityForNotNullTypeParameter: Boolean
val typeEnhancementImprovements: Boolean
val typeEnhancementImprovementsInStrictMode: Boolean
object Default : JavaResolverSettings {
override val isReleaseCoroutines: Boolean
......@@ -90,7 +90,7 @@ interface JavaResolverSettings {
override val correctNullabilityForNotNullTypeParameter: Boolean
get() = false
override val typeEnhancementImprovements: Boolean
override val typeEnhancementImprovementsInStrictMode: Boolean
get() = false
}
......@@ -98,12 +98,12 @@ interface JavaResolverSettings {
fun create(
isReleaseCoroutines: Boolean,
correctNullabilityForNotNullTypeParameter: Boolean,
typeEnhancementImprovements: Boolean
typeEnhancementImprovementsInStrictMode: Boolean
): JavaResolverSettings =
object : JavaResolverSettings {
override val isReleaseCoroutines get() = isReleaseCoroutines
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
}
val areImprovementsEnabled = components.settings.typeEnhancementImprovements
val areImprovementsInStrictMode = components.settings.typeEnhancementImprovementsInStrictMode
val nullabilityQualifier =
components.signatureEnhancement.extractNullability(typeQualifier, areImprovementsEnabled, typeParameterBounds = false)
components.signatureEnhancement.extractNullability(typeQualifier, areImprovementsInStrictMode, typeParameterBounds = false)
?.copy(isForWarningOnly = jsr305State.isWarning) ?: return null
return JavaDefaultQualifiers(nullabilityQualifier, applicability)
......
......@@ -208,8 +208,8 @@ class LazyJavaClassDescriptor(
for (javaType in javaTypes) {
val kotlinType = c.typeResolver.transformJavaType(javaType, TypeUsage.SUPERTYPE.toAttributes())
val areImprovementsEnabled = c.components.settings.typeEnhancementImprovements
val enhancedKotlinType = if (areImprovementsEnabled) {
val areImprovementsInStrictMode = c.components.settings.typeEnhancementImprovementsInStrictMode
val enhancedKotlinType = if (areImprovementsInStrictMode) {
c.components.signatureEnhancement.enhanceSuperType(kotlinType, c)
} else kotlinType
......
......@@ -320,10 +320,10 @@ class SignatureEnhancement(
typeParameterForArgument: TypeParameterDescriptor?,
isFromStarProjection: Boolean
): JavaTypeQualifiers {
val areImprovementsEnabled = containerContext.components.settings.typeEnhancementImprovements
val areImprovementsInStrictMode = containerContext.components.settings.typeEnhancementImprovementsInStrictMode
val composedAnnotation =
if (isHeadTypeConstructor && typeContainer != null && typeContainer !is TypeParameterDescriptor && areImprovementsEnabled) {
if (isHeadTypeConstructor && typeContainer != null && typeContainer !is TypeParameterDescriptor && areImprovementsInStrictMode) {
val filteredContainerAnnotations = typeContainer.annotations.filter {
val (_, targets) = annotationTypeQualifierResolver.resolveAnnotation(it) ?: return@filter false
/*
......@@ -357,7 +357,7 @@ class SignatureEnhancement(
val (nullabilityFromBoundsForTypeBasedOnTypeParameter, isTypeParameterWithNotNullableBounds) =
nullabilityInfoBoundsForTypeParameterUsage()
val annotationsNullability = composedAnnotation.extractNullability(areImprovementsEnabled, typeParameterBounds)
val annotationsNullability = composedAnnotation.extractNullability(areImprovementsInStrictMode, typeParameterBounds)
?.takeUnless { isFromStarProjection }
val nullabilityInfo =
annotationsNullability
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册