[FIR] Set EnhancedNullability attribute for former flexible types

In some cases we transform flexible type into non-flexible during
  enhancement, but don't add `@EnhancedNullability` attribute to them,
  which breaks consistency with K1 on IR level

This commit fixes it

^KT-65302
This commit is contained in:
Dmitriy Novozhilov
2024-02-16 15:24:02 +02:00
committed by Space Team
parent da567e54b9
commit bd66b96f8a
45 changed files with 208 additions and 235 deletions
@@ -26,10 +26,10 @@ class Test : J {
override fun returnNotNull(): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: Test#returnNullable(){}kotlin.String?
// Public signature: /Test.returnNullable|-8543835017469041188[0]
// Public signature debug description: returnNullable(){}kotlin.String?
override fun returnNullable(): String?
// Mangled name: Test#returnNullable(){}kotlin.String?{EnhancedNullability}
// Public signature: /Test.returnNullable|-404622903433277680[0]
// Public signature debug description: returnNullable(){}kotlin.String?{EnhancedNullability}
override fun returnNullable(): @EnhancedNullability String?
// CHECK JVM_IR:
// Mangled name: Test#returnsFlexible(){}kotlin.String?
@@ -50,9 +50,10 @@ class Test : J {
override fun takeNotNull(x: @EnhancedNullability String): Unit
// CHECK:
// Mangled name: Test#takeNullable(kotlin.String?){}
// Public signature: /Test.takeNullable|5724815424219841897[0]
// Public signature debug description: takeNullable(kotlin.String?){}
override fun takeNullable(x: String?): Unit
// Mangled name: Test#takeNullable(kotlin.String?{EnhancedNullability}){}
// Public signature: /Test.takeNullable|-558980523272297075[0]
// Public signature debug description: takeNullable(kotlin.String?{EnhancedNullability}){}
override fun takeNullable(x: @EnhancedNullability String?): Unit
}