[IR] Render different quotes depending on IR constant type

This is needed for ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic
message, but also seems to be good improvement for IR dumps in tests.

^KT-62559
This commit is contained in:
Roman Efremov
2023-11-28 12:03:09 +01:00
committed by Space Team
parent 8f6b6e17be
commit 5cf33c3556
72 changed files with 358 additions and 349 deletions
@@ -21,9 +21,9 @@ expect fun kclassArg()
// FILE: jvm.kt
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("Ann; Ann; Annotation `@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CLASS])` is missing on actual declaration")!>actual annotation class Ann<!>
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("stringConcat; stringConcat; Annotation `@Ann2(s = '12')` is missing on actual declaration")!>actual fun stringConcat() {}<!>
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("stringConcat; stringConcat; Annotation `@Ann2(s = \"12\")` is missing on actual declaration")!>actual fun stringConcat() {}<!>
// Not reported in K1, because supported starting from K2
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("onType; onType; Annotation `@Ann2(s = '')` is missing on actual declaration")!>actual fun onType(): Any? = null<!>
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("onType; onType; Annotation `@Ann2(s = \"\")` is missing on actual declaration")!>actual fun onType(): Any? = null<!>
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT("kclassArg; kclassArg; Annotation `@Ann3(kclass = String::class)` is missing on actual declaration")!>actual fun kclassArg() {}<!>
@@ -10,7 +10,7 @@ All annotations from expect `ViaTypealias` must be present with the same argumen
/jvm.kt:(301,371): warning: Annotation `@Ann` is missing on actual declaration.
All annotations from expect `MemberScopeViaTypealias.foo` must be present with the same arguments on actual `MemberScopeViaTypealiasImpl.foo`, otherwise they might behave incorrectly.
/jvm.kt:(373,427): warning: Annotation `@WithArg(s = 'str')` has different arguments on actual declaration: `@WithArg(s = 'other str')`.
/jvm.kt:(373,427): warning: Annotation `@WithArg(s = "str")` has different arguments on actual declaration: `@WithArg(s = "other str")`.
All annotations from expect `withDifferentArg` must be present with the same arguments on actual `withDifferentArg`, otherwise they might behave incorrectly.
/jvm.kt:(429,468): warning: Annotation `@Ann` is missing on actual declaration.