mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
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) { ... }
27 lines
486 B
Kotlin
Vendored
27 lines
486 B
Kotlin
Vendored
// !LANGUAGE: +InlineClasses
|
|
// IGNORE_BACKEND: JVM_IR, JS, JS_IR
|
|
// WITH_REFLECT
|
|
import kotlin.test.*
|
|
|
|
import kotlin.test.*
|
|
|
|
inline class S(val string: String)
|
|
|
|
fun test(s: S) {
|
|
class Local
|
|
|
|
val localKClass = Local::class
|
|
val localJClass = localKClass.java
|
|
|
|
assertEquals("test\$Local", localKClass.simpleName)
|
|
|
|
assertTrue { localJClass.isLocalClass }
|
|
assertEquals("test\$Local", localJClass.simpleName)
|
|
}
|
|
|
|
fun box(): String {
|
|
test(S(""))
|
|
|
|
return "OK"
|
|
}
|