Files
kotlin-fork/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.sig.kt.txt
T
Sergej Jaskiewicz 6e8283a6fe [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
2023-05-15 18:20:45 +00:00

176 lines
7.4 KiB
Kotlin
Vendored

// CHECK:
// Mangled name: ImplicitReceiverStack
// Public signature: /ImplicitReceiverStack|null[0]
abstract class ImplicitReceiverStack : Iterable<ImplicitReceiverValue<*>> {
// CHECK:
// Mangled name: ImplicitReceiverStack#<init>(){}
// Public signature: /ImplicitReceiverStack.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: ImplicitReceiverStack#forEach(java.util.function.Consumer<in|ImplicitReceiverValue<*>?>?){}
// Public signature: /ImplicitReceiverStack.forEach|-3306751441263527018[0]
/* fake */ override fun forEach(p0: Consumer<in ImplicitReceiverValue<*>?>?): Unit
// CHECK JVM_IR:
// Mangled name: ImplicitReceiverStack#iterator(){}kotlin.collections.Iterator<ImplicitReceiverValue<*>>
// Public signature: /ImplicitReceiverStack.iterator|-837055222250609728[0]
// CHECK JS_IR NATIVE:
// Mangled name: ImplicitReceiverStack#get(kotlin.String?){}
// Public signature: /ImplicitReceiverStack.get|-2385095576760729731[0]
abstract /* fake */ override operator fun iterator(): Iterator<ImplicitReceiverValue<*>>
// CHECK JVM_IR:
// Mangled name: ImplicitReceiverStack#spliterator(){}java.util.Spliterator<ImplicitReceiverValue<*>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /ImplicitReceiverStack.spliterator|-1087522279462133212[0]
// CHECK JS_IR NATIVE:
// Mangled name: ImplicitReceiverValue
// Public signature: /ImplicitReceiverValue|null[0]
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<@EnhancedNullability ImplicitReceiverValue<*>>
// CHECK JVM_IR:
// Mangled name: ImplicitReceiverStack#get(kotlin.String?){}ImplicitReceiverValue<*>?
// Public signature: /ImplicitReceiverStack.get|-8207298175036627063[0]
// CHECK JS_IR NATIVE:
// Mangled name: ImplicitReceiverValue{}boundSymbol
// Public signature: /ImplicitReceiverValue.boundSymbol|7940914052046792092[0]
abstract operator fun get(name: String?): ImplicitReceiverValue<*>?
}
// CHECK:
// Mangled name: ImplicitReceiverValue
// Public signature: /ImplicitReceiverValue|null[0]
class ImplicitReceiverValue<S : Symbol<*>> : ReceiverValue {
// CHECK:
// Mangled name: ImplicitReceiverValue{}boundSymbol
// Public signature: /ImplicitReceiverValue.boundSymbol|7940914052046792092[0]
val boundSymbol: S?
// CHECK JVM_IR:
// Mangled name: ImplicitReceiverValue#<get-boundSymbol>(){}1:0?
// Public signature: /ImplicitReceiverValue.boundSymbol.<get-boundSymbol>|4571442115658707994[0]
// CHECK JS_IR NATIVE:
// Mangled name: ImplicitReceiverValue#<get-type>(){}
// Public signature: /ImplicitReceiverValue.type.<get-type>|5958014174245684635[0]
get
// CHECK:
// Mangled name: ImplicitReceiverValue{}type
// Public signature: /ImplicitReceiverValue.type|-6051055617123801408[0]
override val type: String
// CHECK JVM_IR:
// Mangled name: ImplicitReceiverValue#<get-type>(){}kotlin.String
// Public signature: /ImplicitReceiverValue.type.<get-type>|9160771839252493702[0]
// CHECK JS_IR NATIVE:
// Mangled name: PersistentImplicitReceiverStack
// Public signature: /PersistentImplicitReceiverStack|null[0]
override get
// CHECK:
// Mangled name: ImplicitReceiverValue#<init>(1:0?;kotlin.String){}
// Public signature: /ImplicitReceiverValue.<init>|-1731726113211136467[0]
constructor(boundSymbol: S?, type: String) /* primary */
}
// CHECK:
// Mangled name: PersistentImplicitReceiverStack
// Public signature: /PersistentImplicitReceiverStack|null[0]
class PersistentImplicitReceiverStack : ImplicitReceiverStack, Iterable<ImplicitReceiverValue<*>> {
// CHECK:
// Mangled name: PersistentImplicitReceiverStack{}stack
// Public signature: /PersistentImplicitReceiverStack.stack|-6859012302810162613[0]
private val stack: List<ImplicitReceiverValue<*>>
// CHECK JVM_IR:
// Mangled name: PersistentImplicitReceiverStack#<get-stack>(){}kotlin.collections.List<ImplicitReceiverValue<*>>
// Public signature: /PersistentImplicitReceiverStack.stack.<get-stack>|2790934809164034447[0]
// CHECK JS_IR NATIVE:
// Mangled name: PersistentImplicitReceiverStack#get(kotlin.String?){}
// Public signature: /PersistentImplicitReceiverStack.get|-2385095576760729731[0]
private get
// CHECK:
// Mangled name: PersistentImplicitReceiverStack#<init>(kotlin.collections.List<ImplicitReceiverValue<*>>){}
// Public signature: /PersistentImplicitReceiverStack.<init>|-7593555479041026486[0]
constructor(stack: List<ImplicitReceiverValue<*>>) /* primary */
// CHECK:
// Mangled name: PersistentImplicitReceiverStack#forEach(java.util.function.Consumer<in|ImplicitReceiverValue<*>?>?){}
// Public signature: /PersistentImplicitReceiverStack.forEach|-3306751441263527018[0]
/* fake */ override fun forEach(p0: Consumer<in ImplicitReceiverValue<*>?>?): Unit
// CHECK JVM_IR:
// Mangled name: PersistentImplicitReceiverStack#spliterator(){}java.util.Spliterator<ImplicitReceiverValue<*>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /PersistentImplicitReceiverStack.spliterator|-1087522279462133212[0]
// CHECK JS_IR NATIVE:
// Mangled name: ReceiverValue{}type
// Public signature: /ReceiverValue.type|-6051055617123801408[0]
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<@EnhancedNullability ImplicitReceiverValue<*>>
// CHECK JVM_IR:
// Mangled name: PersistentImplicitReceiverStack#get(kotlin.String?){}ImplicitReceiverValue<*>?
// Public signature: /PersistentImplicitReceiverStack.get|-8207298175036627063[0]
// CHECK JS_IR NATIVE:
// Mangled name: ReceiverValue#<get-type>(){}
// Public signature: /ReceiverValue.type.<get-type>|5958014174245684635[0]
override operator fun get(name: String?): ImplicitReceiverValue<*>?
// CHECK JVM_IR:
// Mangled name: PersistentImplicitReceiverStack#iterator(){}kotlin.collections.Iterator<ImplicitReceiverValue<*>>
// Public signature: /PersistentImplicitReceiverStack.iterator|-837055222250609728[0]
// CHECK JS_IR NATIVE:
// Mangled name: Symbol
// Public signature: /Symbol|null[0]
override operator fun iterator(): Iterator<ImplicitReceiverValue<*>>
}
// CHECK:
// Mangled name: ReceiverValue
// Public signature: /ReceiverValue|null[0]
interface ReceiverValue {
// CHECK:
// Mangled name: ReceiverValue{}type
// Public signature: /ReceiverValue.type|-6051055617123801408[0]
abstract val type: String
// CHECK JVM_IR:
// Mangled name: ReceiverValue#<get-type>(){}kotlin.String
// Public signature: /ReceiverValue.type.<get-type>|9160771839252493702[0]
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}
// Public signature: /box|2173511048851971368[0]
abstract get
}
// CHECK:
// Mangled name: Symbol
// Public signature: /Symbol|null[0]
interface Symbol<E : SymbolOwner<E>> {
}
// CHECK:
// Mangled name: SymbolOwner
// Public signature: /SymbolOwner|null[0]
interface SymbolOwner<E : SymbolOwner<E>> {
}
// CHECK:
// Mangled name: #bar(kotlin.String){}
// Public signature: /bar|5132770888056479978[0]
fun bar(s: String): Unit
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK:
// Mangled name: #foo(PersistentImplicitReceiverStack){}
// Public signature: /foo|4910085870541175645[0]
fun foo(stack: PersistentImplicitReceiverStack): Unit