1e91fe155b
- Prohibit Any, Array and other unsupported non-external types in JS interop context - Add K1 diagnostic - Update BE testdata ^KT-57136 Fixed
123 lines
2.1 KiB
Kotlin
Vendored
123 lines
2.1 KiB
Kotlin
Vendored
fun notNullString(x: String) {
|
|
js("if (x !== 'abc') throw 'error'")
|
|
}
|
|
|
|
fun nullString(x: String?) {
|
|
js("if (x !== 'abc') throw 'error'")
|
|
}
|
|
|
|
fun null2String(x: String?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun testString() {
|
|
notNullString("abc")
|
|
nullString("abc")
|
|
null2String(null)
|
|
}
|
|
|
|
external interface ExternRef
|
|
|
|
fun notNullExternRef(x: ExternRef) {
|
|
js("if (x !== 'abc') throw 'error'")
|
|
}
|
|
|
|
fun nullExternRef(x: ExternRef?) {
|
|
js("if (x !== 'abc') throw 'error'")
|
|
}
|
|
|
|
fun null2ExternRef(x: ExternRef?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun getExternRef(): ExternRef =
|
|
js("'abc'")
|
|
|
|
fun testExterRef() {
|
|
val externRef = getExternRef()
|
|
notNullExternRef(externRef)
|
|
nullExternRef(externRef)
|
|
null2ExternRef(null)
|
|
}
|
|
|
|
fun notNullInt(x: Int) {
|
|
js("if (x !== 123) throw 'error'")
|
|
}
|
|
|
|
fun nullInt(x: Int?) {
|
|
js("if (x !== 123) throw 'error'")
|
|
}
|
|
|
|
fun null2Int(x: Int?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun testInt() {
|
|
notNullInt(123)
|
|
nullInt(123)
|
|
null2Int(null)
|
|
}
|
|
|
|
fun notNullBoolean(x: Boolean) {
|
|
js("if (x !== true) throw 'error'")
|
|
}
|
|
|
|
fun nullBoolean(x: Boolean?) {
|
|
js("if (x !== true) throw 'error'")
|
|
}
|
|
|
|
fun null2Boolean(x: Boolean?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun testBoolean() {
|
|
notNullBoolean(true)
|
|
nullBoolean(true)
|
|
null2Boolean(null)
|
|
}
|
|
|
|
fun notNullShort(x: Short) {
|
|
js("x == 123")
|
|
}
|
|
|
|
fun nullShort(x: Short?) {
|
|
js("if (x !== 123) throw 'error'")
|
|
}
|
|
|
|
fun null2Short(x: Short?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun testShort() {
|
|
notNullShort(123.toShort())
|
|
nullShort(123.toShort())
|
|
null2Short(null)
|
|
}
|
|
|
|
fun notNullFloat(x: Float) {
|
|
js("if (x !== 123.5) throw 'error'")
|
|
}
|
|
|
|
fun nullFloat(x: Float?) {
|
|
js("if (x !== 123.5) throw 'error'")
|
|
}
|
|
|
|
fun null2Float(x: Float?) {
|
|
js("if (x !== null) throw 'error'")
|
|
}
|
|
|
|
fun testFloat() {
|
|
notNullFloat(123.5f)
|
|
nullFloat(123.5f)
|
|
null2Float(null)
|
|
}
|
|
|
|
fun box(): String {
|
|
testString()
|
|
testExterRef()
|
|
testInt()
|
|
testBoolean()
|
|
testShort()
|
|
testFloat()
|
|
return "OK"
|
|
} |