extern generics classes fix, documentation on extern classes updated
This commit is contained in:
1 parent
74eb8ff082
commit
8e0442670d
10 files changed
+28
-58
No files matched your search
@@ -30,8 +30,8 @@ import kotlinx.serialization.json.JsonPrimitive
|
||||
import kotlinx.serialization.json.encodeToJsonElement
|
||||
import net.sergeych.lyng.*
|
||||
import net.sergeych.lyng.obj.*
|
||||
import net.sergeych.lyng.thisAs
|
||||
import net.sergeych.lyng.pacman.InlineSourcesImportProvider
|
||||
import net.sergeych.lyng.thisAs
|
||||
import net.sergeych.mp_tools.globalDefer
|
||||
import net.sergeych.tools.bm
|
||||
import kotlin.test.*
|
||||
@@ -3097,19 +3097,6 @@ class ScriptTest {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExternClassMembersMustBeExplicitlyExtern() = runTest {
|
||||
assertFailsWith<ScriptError> {
|
||||
eval(
|
||||
"""
|
||||
extern class HostClass {
|
||||
fun doSomething(): Int
|
||||
}
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExternExtension() = runTest {
|
||||
eval(
|
||||
|
||||
@@ -621,24 +621,23 @@ class TypesTest {
|
||||
eval("""
|
||||
extern fun f<T>(x: T): T
|
||||
extern class Cell<T> {
|
||||
extern var value: T
|
||||
var value: T
|
||||
}
|
||||
""")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExternClassMemberMustBeExternMessage() = runTest {
|
||||
fun testExternClassMemberInitializerStillFailsWithoutExplicitExtern() = runTest {
|
||||
val e = assertFailsWith<ScriptError> {
|
||||
eval(
|
||||
"""
|
||||
extern class Cell<T> {
|
||||
var value: T
|
||||
var value: T = 1
|
||||
}
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
assertTrue(e.message?.contains("must be declared extern") == true)
|
||||
assertTrue(e.message?.contains("extern var value") == true)
|
||||
assertTrue(e.message?.contains("extern variable value cannot have an initializer or delegate") == true)
|
||||
}
|
||||
|
||||
// @Test fun nonTrivialOperatorsTest() = runTest {
|
||||
|
||||
Reference in new issue
Block a user