KT-2752: add checkers for inconsistent usage of JsName

This commit is contained in:
Alexey Andreev
2016-06-01 18:28:06 +03:00
parent 638952e96e
commit 6e1a0901ac
27 changed files with 364 additions and 94 deletions
@@ -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"
}
@@ -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"
}