IR text tests: Don't dump signatures for local declarations

1. Local declarations don't participate in IR-linkage, because they
can be referenced only inside the same body -> can be dropped
from IR text tests.

2. Mangled names for private declarations computed by descriptors/fir
are actually not used anywhere (they are recomputed by IR
immediately before serialization of IR). But sometimes such
mangled names diverge between K1 and K2 -> don't check them, but
always check mangled names computed by IR even for private
declarations.

3. Also: Drop DUMP_LOCAL_DECLARATION_SIGNATURES test directive.

^KT-57428 Obsolete
^KT-57430 Obsolete
^KT-57434 Obsolete
^KT-57778 Obsolete
^KT-57775 Obsolete
This commit is contained in:
Dmitriy Dolovov
2023-11-20 19:10:54 +01:00
committed by Space Team
parent 514ae0c813
commit 02604060ae
125 changed files with 259 additions and 1376 deletions
@@ -8,11 +8,6 @@ class Test<TT : Any?> : IBase<TT> {
// Public signature debug description: <init>(IBase<1:0>){}
constructor(impl: IBase<TT>) /* primary */
// CHECK:
// Mangled name: Test.$$delegate_0
// Public signature: /Test.$$delegate_0|-7286425919675154353[0]
// Public signature debug description:
private /* final field */ val $$delegate_0: IBase<TT>
// CHECK:
// Mangled name: Test#foo(kotlin.Int){}
// Public signature: /Test.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
@@ -1,8 +1,4 @@
// FIR_IDENTICAL
// DUMP_LOCAL_DECLARATION_SIGNATURES
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57434
fun <TT> outer() {
fun <T> test1(i: Int, j: T) {}
@@ -3,23 +3,4 @@
// Public signature: /outer|-6093606212547620330[0]
// Public signature debug description: outer(){0§<kotlin.Any?>}
fun <TT : Any?> outer(): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test1#static(kotlin.Int;0:0){0§<kotlin.Any?>}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test1#static(kotlin.Int;0:0){0§<kotlin.Any?>}
local fun <T : Any?> test1(i: Int, j: T): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test2#static(kotlin.Int;kotlin.String){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test2#static(kotlin.Int;kotlin.String){}
local fun test2(i: Int, j: String): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#test3#static(kotlin.Array<out|kotlin.String>...){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}test3#static(kotlin.Array<out|kotlin.String>...){}
local fun test3(vararg args: String): Unit
// CHECK:
// Mangled name: #outer(){0§<kotlin.Any?>}#textExt1#static@kotlin.String(kotlin.Int;1:0){}
// Mangled name for the signature: outer(){0§<kotlin.Any?>}textExt1#static@kotlin.String(kotlin.Int;1:0){}
local fun String.textExt1(i: Int, j: TT): Unit