mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 15:53:37 +00:00
The generated code is more inline with java, and we avoid the error of accessing package-private field outside of the package. However, this changes semantics a bit. Now, a user should set assertion status of inline-site's package, instead of inline function's one. #KT-28317: Fixed
19 lines
475 B
Kotlin
Vendored
19 lines
475 B
Kotlin
Vendored
// IGNORE_BACKEND: JVM_IR
|
|
// KOTLIN_CONFIGURATION_FLAGS: ASSERTIONS_MODE=jvm
|
|
|
|
inline fun inlineMe() = assert(true)
|
|
|
|
class A {
|
|
fun inlineSite() {
|
|
inlineMe()
|
|
}
|
|
}
|
|
|
|
// A.inlineSite:
|
|
// 1 GETSTATIC A.\$assertionsDisabled
|
|
// A.<clinit>:
|
|
// 1 LDC LA;.class\s*INVOKEVIRTUAL java/lang/Class.desiredAssertionStatus \(\)Z
|
|
// 1 PUTSTATIC A.\$assertionsDisabled : Z
|
|
// in declaration site and in inline site
|
|
// 2 INVOKEVIRTUAL java/lang/Class.desiredAssertionStatus \(\)Z
|