[IR] Dump IdSignatures and mangled names in irText tests

The reason #1 for this feature is that we want to test IdSignatures
generated for declarations. Currently, there is no (easy) way to ensure
that a change in the signature building logic doesn't cause any breaking
changes wrt klibs.

Now, most IdSignatures include hashed mangled names in them, so even if
we catch a regression where the included hash changes, there would be no
way of knowing immediately what caused it, unless we'd also have mangled
names in the expectations.

The reason #2 is to test the manglers themselves. Currently, there are
no tests for them. They heavily duplicate each other, this is already
causing issues (see KT-57427) that would be very hard to catch without
these tests.

^KT-58238 Fixed
This commit is contained in:
Sergej Jaskiewicz
2023-04-06 15:07:36 +02:00
committed by Space Team
parent bccf69910d
commit 6e8283a6fe
791 changed files with 36162 additions and 357 deletions
@@ -0,0 +1,64 @@
// CHECK JVM_IR:
// Mangled name: #test1d(kotlin.Double;kotlin.Double){}kotlin.Boolean
// Public signature: /test1d|-6076864717398730791[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test1d(kotlin.Double;kotlin.Double){}
// Public signature: /test1d|8996428331240250899[0]
fun test1d(x: Double, y: Double): Boolean
// CHECK JVM_IR:
// Mangled name: #test1f(kotlin.Float;kotlin.Float){}kotlin.Boolean
// Public signature: /test1f|-2409682264718997877[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test1f(kotlin.Float;kotlin.Float){}
// Public signature: /test1f|3996419052229966122[0]
fun test1f(x: Float, y: Float): Boolean
// CHECK JVM_IR:
// Mangled name: #test2d(kotlin.Double;kotlin.Any){}kotlin.Boolean
// Public signature: /test2d|1868332233853062954[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test2d(kotlin.Double;kotlin.Any){}
// Public signature: /test2d|3048714195566850595[0]
fun test2d(x: Double, y: Any): Boolean
// CHECK JVM_IR:
// Mangled name: #test2f(kotlin.Float;kotlin.Any){}kotlin.Boolean
// Public signature: /test2f|-5327474494142874991[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test2f(kotlin.Float;kotlin.Any){}
// Public signature: /test2f|-8233698539945437419[0]
fun test2f(x: Float, y: Any): Boolean
// CHECK JVM_IR:
// Mangled name: #test3d(kotlin.Any;kotlin.Any){}kotlin.Boolean
// Public signature: /test3d|-5073128912492477196[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test3d(kotlin.Any;kotlin.Any){}
// Public signature: /test3d|1265476561252316973[0]
fun test3d(x: Any, y: Any): Boolean
// CHECK JVM_IR:
// Mangled name: #test3f(kotlin.Any;kotlin.Any){}kotlin.Boolean
// Public signature: /test3f|1058712547644060622[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test3f(kotlin.Any;kotlin.Any){}
// Public signature: /test3f|-4162669948505292416[0]
fun test3f(x: Any, y: Any): Boolean
// CHECK JVM_IR:
// Mangled name: #testDF(kotlin.Any;kotlin.Any){}kotlin.Boolean
// Public signature: /testDF|9162091323093859710[0]
// CHECK JS_IR NATIVE:
// Mangled name: #testDF(kotlin.Any;kotlin.Any){}
// Public signature: /testDF|5325280582850746470[0]
fun testDF(x: Any, y: Any): Boolean
// CHECK JVM_IR:
// Mangled name: #testFD(kotlin.Any;kotlin.Any){}kotlin.Boolean
// Public signature: /testFD|-1860793291456176126[0]
// CHECK JS_IR NATIVE:
// Mangled name: #testFD(kotlin.Any;kotlin.Any){}
// Public signature: /testFD|-8637640662829760144[0]
fun testFD(x: Any, y: Any): Boolean