mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
Generate is check for inline classes same as for primitives
Should be improved when inline class is based on non-null reference
This commit is contained in:
25
compiler/testData/codegen/bytecodeText/inlineClasses/isCheckForInlineClass.kt
vendored
Normal file
25
compiler/testData/codegen/bytecodeText/inlineClasses/isCheckForInlineClass.kt
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class UInt(val u: Int) {
|
||||
fun member() {}
|
||||
}
|
||||
|
||||
fun UInt?.extension() {}
|
||||
|
||||
fun test(a: Any, b: Any?) {
|
||||
if (a is UInt) {
|
||||
a.member()
|
||||
}
|
||||
|
||||
if (b is UInt?) {
|
||||
b.extension()
|
||||
}
|
||||
}
|
||||
|
||||
// 2 INSTANCEOF UInt
|
||||
// 1 CHECKCAST UInt
|
||||
|
||||
// 1 INVOKEVIRTUAL UInt.unbox
|
||||
// 2 INVOKESTATIC UInt\$Erased.member
|
||||
|
||||
// 0 intValue
|
||||
Reference in New Issue
Block a user