From 731e3ebae1ba7f212e9955d8d3e6b0453309f1c3 Mon Sep 17 00:00:00 2001 From: Victor Petukhov Date: Wed, 24 Mar 2021 16:14:01 +0300 Subject: [PATCH] Rename LV `ImprovementsAroundTypeEnhancement` into `TypeEnhancementImprovementsInStrictMode` --- .../jetbrains/kotlin/frontend/java/di/injection.kt | 2 +- .../resolve/jvm/platform/JvmPlatformConfigurator.kt | 2 +- ...EnhancedUpperBoundsWithEnabledImprovements.fir.kt | 2 +- ...heckEnhancedUpperBoundsWithEnabledImprovements.kt | 2 +- .../ClassTypeParameterBound.kt | 2 +- .../typeEnhancementOnCompiledJava/ReturnType.kt | 2 +- .../typeEnhancementOnCompiledJava/ValueParameter.kt | 2 +- .../compiledJava/typeParameterAnnotations/Basic.java | 2 +- .../Basic_DisabledImprovements.java | 2 +- .../typeUseAnnotations/BaseClassTypeArguments.java | 2 +- .../compiledJava/typeUseAnnotations/Basic.java | 2 +- .../Basic_DisabledImprovements.java | 2 +- .../typeUseAnnotations/ClassTypeParameterBounds.java | 2 +- .../typeUseAnnotations/MethodReceiver.java | 2 +- .../MethodTypeParameterBounds.java | 2 +- .../compiledJava/typeUseAnnotations/ReturnType.java | 2 +- .../typeUseAnnotations/ValueArguments.java | 2 +- .../sourceJava/typeParameterAnnotations/Basic.java | 2 +- .../Basic_DisabledImprovements.java | 2 +- .../typeUseAnnotations/BaseClassTypeArguments.java | 2 +- .../sourceJava/typeUseAnnotations/Basic.java | 2 +- .../Basic_DisabledImprovements.java | 2 +- .../typeUseAnnotations/ClassTypeParameterBounds.java | 2 +- .../typeUseAnnotations/MethodReceiver.java | 2 +- .../MethodTypeParameterBounds.java | 2 +- .../sourceJava/typeUseAnnotations/ReturnType.java | 2 +- .../typeUseAnnotations/ValueArguments.java | 2 +- .../kotlin/config/LanguageVersionSettings.kt | 2 +- .../org/jetbrains/kotlin/load/java/lazy/context.kt | 12 ++++++------ .../java/lazy/descriptors/LazyJavaClassDescriptor.kt | 4 ++-- .../java/typeEnhancement/signatureEnhancement.kt | 6 +++--- 31 files changed, 39 insertions(+), 39 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt index 43fc9f78fe7..de33aa3c096 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt @@ -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) ) ) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt index b91ab50f6a4..b76196535da 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt @@ -96,7 +96,7 @@ object JvmPlatformConfigurator : PlatformConfiguratorBase( ) { override fun configureModuleComponents(container: StorageComponentContainer, languageVersionSettings: LanguageVersionSettings) { container.useImplIf( - !languageVersionSettings.supportsFeature(LanguageFeature.ImprovementsAroundTypeEnhancement) + !languageVersionSettings.supportsFeature(LanguageFeature.TypeEnhancementImprovementsInStrictMode) ) container.useImpl() diff --git a/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.fir.kt index bfc6b0c7b4d..4d21e488c5e 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // FULL_JDK diff --git a/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.kt b/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.kt index 2b1481db01e..a6f2b4b73cf 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/java/checkEnhancedUpperBoundsWithEnabledImprovements.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // FULL_JDK diff --git a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ClassTypeParameterBound.kt b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ClassTypeParameterBound.kt index 424a5f7730c..4dfa84a3587 100644 --- a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ClassTypeParameterBound.kt +++ b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ClassTypeParameterBound.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE // SKIP_TXT diff --git a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ReturnType.kt b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ReturnType.kt index 15e609df195..018d98a6c99 100644 --- a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ReturnType.kt +++ b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ReturnType.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated // !DIAGNOSTICS: -UNUSED_PARAMETER // SKIP_TXT diff --git a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ValueParameter.kt b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ValueParameter.kt index 7a7175a9522..e07d64b9aa3 100644 --- a/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ValueParameter.kt +++ b/compiler/testData/foreignAnnotations/java8Tests/typeEnhancementOnCompiledJava/ValueParameter.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode +ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated // !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS // SKIP_TXT diff --git a/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic.java b/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic.java index d29ce251dc7..b49594d3066 100644 --- a/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic.java +++ b/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic_DisabledImprovements.java b/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic_DisabledImprovements.java index 20ae7c5392d..1fbd9d681c2 100644 --- a/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic_DisabledImprovements.java +++ b/compiler/testData/loadJava8/compiledJava/typeParameterAnnotations/Basic_DisabledImprovements.java @@ -1,4 +1,4 @@ -// !LANGUAGE: -ImprovementsAroundTypeEnhancement +// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/BaseClassTypeArguments.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/BaseClassTypeArguments.java index 728df19f7de..fc693896ea0 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/BaseClassTypeArguments.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/BaseClassTypeArguments.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic.java index c95657b6586..c300a86d6c2 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic_DisabledImprovements.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic_DisabledImprovements.java index feafd88d327..4cb8a865d44 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic_DisabledImprovements.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/Basic_DisabledImprovements.java @@ -1,4 +1,4 @@ -// !LANGUAGE: -ImprovementsAroundTypeEnhancement +// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ClassTypeParameterBounds.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ClassTypeParameterBounds.java index 6bfe9356db4..2612edd59f9 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ClassTypeParameterBounds.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ClassTypeParameterBounds.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodReceiver.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodReceiver.java index 161d317072b..2759f245403 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodReceiver.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodReceiver.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodTypeParameterBounds.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodTypeParameterBounds.java index 64f434238dd..70ad08a2610 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodTypeParameterBounds.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/MethodTypeParameterBounds.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ReturnType.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ReturnType.java index 2e5e08f05d4..b4cb0848c99 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ReturnType.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ReturnType.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ValueArguments.java b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ValueArguments.java index b45426a7e59..ff06391898a 100644 --- a/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ValueArguments.java +++ b/compiler/testData/loadJava8/compiledJava/typeUseAnnotations/ValueArguments.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic.java b/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic.java index d29ce251dc7..b49594d3066 100644 --- a/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic.java +++ b/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic.java @@ -1,4 +1,4 @@ -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic_DisabledImprovements.java b/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic_DisabledImprovements.java index 20ae7c5392d..1fbd9d681c2 100644 --- a/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic_DisabledImprovements.java +++ b/compiler/testData/loadJava8/sourceJava/typeParameterAnnotations/Basic_DisabledImprovements.java @@ -1,4 +1,4 @@ -// !LANGUAGE: -ImprovementsAroundTypeEnhancement +// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/BaseClassTypeArguments.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/BaseClassTypeArguments.java index f4285d227e0..1d3935d32af 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/BaseClassTypeArguments.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/BaseClassTypeArguments.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic.java index b476de95f1b..b92b2002468 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic_DisabledImprovements.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic_DisabledImprovements.java index feafd88d327..4cb8a865d44 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic_DisabledImprovements.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/Basic_DisabledImprovements.java @@ -1,4 +1,4 @@ -// !LANGUAGE: -ImprovementsAroundTypeEnhancement +// !LANGUAGE: -TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ClassTypeParameterBounds.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ClassTypeParameterBounds.java index 481ba161f41..2b499e843aa 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ClassTypeParameterBounds.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ClassTypeParameterBounds.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodReceiver.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodReceiver.java index 891b7e09934..1429693694b 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodReceiver.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodReceiver.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodTypeParameterBounds.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodTypeParameterBounds.java index ecb6524dade..12bbe93d9f9 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodTypeParameterBounds.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/MethodTypeParameterBounds.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ReturnType.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ReturnType.java index 0ebea85fe4e..a55629487a9 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ReturnType.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ReturnType.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ValueArguments.java b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ValueArguments.java index 63335caaa14..d315142620c 100644 --- a/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ValueArguments.java +++ b/compiler/testData/loadJava8/sourceJava/typeUseAnnotations/ValueArguments.java @@ -1,5 +1,5 @@ // JAVAC_EXPECTED_FILE -// !LANGUAGE: +ImprovementsAroundTypeEnhancement +// !LANGUAGE: +TypeEnhancementImprovementsInStrictMode package test; diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index 9cd899087ba..b462bfdf518 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -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..Array?` instead of `Array..Array`) */ - ImprovementsAroundTypeEnhancement(KOTLIN_1_6), + TypeEnhancementImprovementsInStrictMode(KOTLIN_1_6), // Temporarily disabled, see KT-27084/KT-22379 SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX), diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/context.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/context.kt index 8f72c08ae9a..fcf8a04dde1 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/context.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/context.kt @@ -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) diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt index 2b69d658fcb..16f5643fbb1 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -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 diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt index 879d69b2925..1479e097ed0 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt @@ -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