Require explicit extern members in extern class/object and update docs
This commit is contained in:
1 parent
e447c778ed
commit
979e6ea9b7
13 files changed
+105
-53
No files matched your search
@@ -164,7 +164,7 @@ class BindingTest {
|
||||
val ms = Script.newScope()
|
||||
ms.eval("""
|
||||
extern class A {
|
||||
fun get1(): String
|
||||
extern fun get1(): String
|
||||
}
|
||||
|
||||
extern fun getA(): A
|
||||
@@ -184,4 +184,3 @@ class BindingTest {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ class BridgeBindingTest {
|
||||
val ms = Script.newScope()
|
||||
ms.eval("""
|
||||
extern class A {
|
||||
val field: Int
|
||||
extern val field: Int
|
||||
}
|
||||
|
||||
fun test(a: A) = a.field
|
||||
|
||||
@@ -249,13 +249,13 @@ class MiniAstTest {
|
||||
// Doc2
|
||||
extern class C1 {
|
||||
// Doc3
|
||||
fun m1()
|
||||
extern fun m1()
|
||||
}
|
||||
|
||||
// Doc4
|
||||
extern object O1 {
|
||||
// Doc5
|
||||
val v1: String
|
||||
extern val v1: String
|
||||
}
|
||||
|
||||
// Doc6
|
||||
|
||||
@@ -3080,11 +3080,11 @@ class ScriptTest {
|
||||
"""
|
||||
extern fun hostFunction(a: Int, b: String): String
|
||||
extern class HostClass(name: String) {
|
||||
fun doSomething(): Int
|
||||
val status: String
|
||||
extern fun doSomething(): Int
|
||||
extern val status: String
|
||||
}
|
||||
extern object HostObject {
|
||||
fun getInstance(): HostClass
|
||||
extern fun getInstance(): HostClass
|
||||
}
|
||||
extern enum HostEnum {
|
||||
VALUE1, VALUE2
|
||||
@@ -3097,6 +3097,19 @@ class ScriptTest {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExternClassMembersMustBeExplicitlyExtern() = runTest {
|
||||
assertFailsWith<ScriptError> {
|
||||
eval(
|
||||
"""
|
||||
extern class HostClass {
|
||||
fun doSomething(): Int
|
||||
}
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExternExtension() = runTest {
|
||||
eval(
|
||||
|
||||
Reference in new issue
Block a user