Files
kotlin/compiler/testData/diagnostics/testsWithJsStdLib/native/nativeInvoke/onNativeClassMembers.kt
2015-09-08 12:11:30 +03:00

42 lines
1.0 KiB
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
@native
class A {
@nativeInvoke
fun foo() {}
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
val foo = 0
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
object Obj1 {}
companion object {
@nativeInvoke
fun foo() {}
@nativeInvoke
fun invoke(a: String): Int = 0
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.ext()<!> = 1
<!NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN!>@nativeInvoke
fun Int.invoke(a: String, b: Int)<!> = "OK"
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
val foo = 0
<!WRONG_ANNOTATION_TARGET!>@nativeInvoke<!>
object Obj2 {}
}
}