Files
kotlin/compiler/testData/writeSignature/inlineClasses/basicInlineClassDeclarationCodegen.kt
Dmitry Petrov a56d1d3ce8 Mangle function names with inline class parameters
Avoid name clashes in cases such as

  inline class Login(val login: String)
  inline class Password(val password: String)

  fun validate(login: Login) { ... }
  fun validate(password: Password) { ... }
2018-08-30 14:58:50 +03:00

31 lines
716 B
Kotlin
Vendored

// !LANGUAGE: +InlineClasses
inline class Foo(val x: Int) {
fun empty() {}
fun param(y: String) {}
fun Any.extension() {}
fun Any.extensionAndParam(y: Double) {}
fun withInlineClassType(c: Foo) {}
}
// method: Foo$Erased::empty
// jvm signature: (I)V
// generic signature: null
// method: Foo$Erased::param
// jvm signature: (ILjava/lang/String;)V
// generic signature: null
// method: Foo$Erased::extension
// jvm signature: (ILjava/lang/Object;)V
// generic signature: null
// method: Foo$Erased::extensionAndParam
// jvm signature: (ILjava/lang/Object;D)V
// generic signature: null
// method: Foo$Erased::withInlineClassType$1e4ch6lh
// jvm signature: (II)V
// generic signature: null