KT-2752: add checkers for inconsistent usage of JsName
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
// FILE: foo.kt
|
||||
package foo
|
||||
|
||||
fun bar(x: Int) = x
|
||||
|
||||
fun box(): Boolean {
|
||||
assertEquals(23, bar(23))
|
||||
assertEquals(42, foo.bar.x)
|
||||
return true
|
||||
}
|
||||
|
||||
// FILE: foobar.kt
|
||||
package foo.bar
|
||||
|
||||
val x = 42
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// FILE: foo.kt
|
||||
package foo
|
||||
|
||||
private fun bar() = 23
|
||||
|
||||
private val bar = 42
|
||||
|
||||
fun box(): Boolean {
|
||||
assertEquals(23, bar())
|
||||
assertEquals(42, bar)
|
||||
assertEquals(32, foo.bar.x)
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// FILE: foobar.kt
|
||||
package foo.bar
|
||||
|
||||
val x = 32
|
||||
@@ -0,0 +1,23 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
fun foo() = 23
|
||||
|
||||
val bar = 123
|
||||
|
||||
companion object {
|
||||
fun foo() = 42
|
||||
|
||||
val bar = 142
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(23, A().foo())
|
||||
assertEquals(42, A.foo())
|
||||
|
||||
assertEquals(123, A().bar)
|
||||
assertEquals(142, A.bar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package foo
|
||||
|
||||
class A
|
||||
|
||||
class B
|
||||
|
||||
val A.foo: Int
|
||||
get() = 32
|
||||
|
||||
val B.foo: Int
|
||||
get() = 42
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(32, A().foo)
|
||||
assertEquals(42, B().foo)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package foo
|
||||
|
||||
class A
|
||||
|
||||
fun A.bar() = 23
|
||||
|
||||
val A.bar: Int
|
||||
get() = 42
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(23, A().bar())
|
||||
assertEquals(42, A().bar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package foo
|
||||
|
||||
@JsName("bar") fun foo(x: Int) = x
|
||||
|
||||
private fun bar() = 42
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(23, foo(23))
|
||||
assertEquals(42, bar())
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package foo
|
||||
|
||||
fun bar() = 23
|
||||
|
||||
private val bar = 32
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(23, bar())
|
||||
assertEquals(32, bar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package foo
|
||||
|
||||
@native fun bar()
|
||||
|
||||
val bar = 32
|
||||
|
||||
fun createNativeBar() = js("bar = function() { return 23; };")
|
||||
|
||||
fun box(): String {
|
||||
createNativeBar()
|
||||
|
||||
assertEquals(23, bar())
|
||||
assertEquals(32, bar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
var bar = function() { return 23; };
|
||||
var baz = 123;
|
||||
|
||||
function B() {
|
||||
this.q = 32;
|
||||
}
|
||||
B.prototype.g = function() { return 42; };
|
||||
B.q = 132;
|
||||
B.g = function() { return 142; };
|
||||
|
||||
var P = {
|
||||
f: function() { return 222; }
|
||||
};
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package foo
|
||||
|
||||
@JsName("bar") @native fun foo(): Int = noImpl
|
||||
|
||||
@JsName("baz") @native val prop: Int get() = noImpl
|
||||
|
||||
@JsName("B") @native class A {
|
||||
@JsName("g") fun f(): Int = noImpl
|
||||
|
||||
@JsName("q") val p: Int get() = noImpl
|
||||
|
||||
companion object {
|
||||
@JsName("g") fun f(): Int = noImpl
|
||||
|
||||
@JsName("q") val p: Int get() = noImpl
|
||||
}
|
||||
}
|
||||
|
||||
@JsName("P") @native object O {
|
||||
fun f(): Int = noImpl
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(23, foo())
|
||||
assertEquals(123, prop)
|
||||
|
||||
assertEquals(42, A().f())
|
||||
assertEquals(32, A().p)
|
||||
|
||||
assertEquals(142, A.f())
|
||||
assertEquals(132, A.p)
|
||||
|
||||
assertEquals(222, O.f())
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user