blob: aa07707750f21416745d7eec0d00154d0773dc30 [file]
// FIR_IDENTICAL
// SKIP_TXT
// FILE: test.kt
import kotlinx.js.JsPlainObject
external interface Marker1
external interface Marker2
external interface A {
val foo: String
}
external interface B {
val foo: String
}
external interface C {
val foo: String
}
external interface WrongMarker1 : C
external interface WrongMarker2 {
val test: String
}
@JsPlainObject
external interface D : <!JS_PLAIN_OBJECT_CAN_EXTEND_ONLY_OTHER_JS_PLAIN_OBJECTS!>A<!>, <!JS_PLAIN_OBJECT_CAN_EXTEND_ONLY_OTHER_JS_PLAIN_OBJECTS!>B<!>, <!JS_PLAIN_OBJECT_CAN_EXTEND_ONLY_OTHER_JS_PLAIN_OBJECTS!>C<!>
@JsPlainObject
external interface E
@JsPlainObject
external interface F : Marker1
@JsPlainObject
external interface DEF: D, E, F
@JsPlainObject
external interface G : Marker1, Marker2, <!JS_PLAIN_OBJECT_CAN_EXTEND_ONLY_OTHER_JS_PLAIN_OBJECTS!>WrongMarker1<!>, <!JS_PLAIN_OBJECT_CAN_EXTEND_ONLY_OTHER_JS_PLAIN_OBJECTS!>WrongMarker2<!>
external interface H: A, C, <!IMPLEMENTING_OF_JS_PLAIN_OBJECT_IS_NOT_SUPPORTED!>E<!>
class Foo : A, <!IMPLEMENTING_OF_JS_PLAIN_OBJECT_IS_NOT_SUPPORTED!>D<!>, B {
override val foo = "Foo"
}