After translation we end up with following MyDomain definition:
package mydomain
import myevents.SomeEvent
import Core.SomeDomain
external open class MyDomain : SomeDomain {
open fun add(evt: SomeEvent)
override fun add(evt: SomeEvent)
}
which won't compile because:
out/index.mydomain.module_node_3_minimal.kt:23:15: error: class 'MyDomain' is not abstract and does not implement abstract member public abstract fun add(evt: SomeEvent): Unit defined in Core.SomeDomain
external open class MyDomain : SomeDomain {
^
out/index.mydomain.module_node_3_minimal.kt:25:5: error: 'add' overrides nothing
override fun add(evt: SomeEvent)
Here's what's happening here - SomeEvent from "events" and SomeEvent from core are actually clashing.
Consider following code: core.d.ts:
events.d.ts:
index.d.ts:
After translation we end up with following
MyDomain
definition:which won't compile because:
Here's what's happening here - SomeEvent from "events" and SomeEvent from core are actually clashing.