[FIR] Don't enhance Int and String Java final static fields

It's effectively a breaking change (^KT-62558)

K2 assigns flexible type to all static fields (from Java) and, for example,
`String? becomes String unlike K1. It affects IR signature generating.
That's why signature dump is disabled for some tests.

^KT-57811 Fixed
^KT-61786 Fixed
This commit is contained in:
Ivan Kochurkin
2023-10-10 20:05:39 +02:00
committed by Space Team
parent 2d61b9a477
commit 498f2e534a
25 changed files with 82 additions and 71 deletions
@@ -1 +1 @@
/test.kt:(154,158): error: Overload resolution ambiguity between candidates: [static field SOME: String, static enum entry SOME: SomeEnum]
/test.kt:(154,158): error: Overload resolution ambiguity between candidates: [static field SOME: String!, static enum entry SOME: SomeEnum]
@@ -1 +1 @@
/test.kt:(160,164): error: Overload resolution ambiguity between candidates: [static field SOME: String, static enum entry SOME: SomeEnum]
/test.kt:(160,164): error: Overload resolution ambiguity between candidates: [static field SOME: String!, static enum entry SOME: SomeEnum]
@@ -1,5 +1,3 @@
// IGNORE_REVERSED_RESOLVE
// IGNORE_CONTRACT_VIOLATIONS
// FIR_IDENTICAL
// FILE: Bar.java
@@ -1,5 +1,3 @@
// IGNORE_REVERSED_RESOLVE
// IGNORE_CONTRACT_VIOLATIONS
// FIR_IDENTICAL
// FILE: Bar.java
@@ -14,8 +14,8 @@ FILE: Child.kt
}
public final fun foo(): R|kotlin/Unit| {
lval x: R|kotlin/String| = Q|javapackage/PublicParentClass|.R|javapackage/PackagePrivateGrandparentInterface.publicStaticField*s|
lval y: R|kotlin/String| = Q|javapackage/PublicParentClass|.R|javapackage/PackagePrivateGrandparentInterface.publicStaticField*s|
lval x: R|kotlin/String!| = Q|javapackage/PublicParentClass|.R|javapackage/PackagePrivateGrandparentInterface.publicStaticField*s|
lval y: R|kotlin/String!| = Q|javapackage/PublicParentClass|.R|javapackage/PackagePrivateGrandparentInterface.publicStaticField*s|
lval z: <ERROR TYPE REF: Unresolved name: publicStaticField> = Q|javapackage/KotlinParentClass|.<Unresolved name: publicStaticField>#
}