From 453a1bc7552ed19a8c5aebfcfbe64ba4d2aeff7a Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Wed, 22 Apr 2020 13:40:35 +0300 Subject: [PATCH] Remove reflection from common module --- dataforge-context/build.gradle.kts | 2 +- .../src/commonMain/kotlin/hep/dataforge/context/Context.kt | 6 ++++-- .../src/commonMain/kotlin/hep/dataforge/meta/Config.kt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dataforge-context/build.gradle.kts b/dataforge-context/build.gradle.kts index dd581254..261933fe 100644 --- a/dataforge-context/build.gradle.kts +++ b/dataforge-context/build.gradle.kts @@ -13,12 +13,12 @@ kotlin { val commonMain by getting { dependencies { api(project(":dataforge-meta")) - api(kotlin("reflect")) api("io.github.microutils:kotlin-logging-common:1.7.8") } } val jvmMain by getting { dependencies { + api(kotlin("reflect")) api("io.github.microutils:kotlin-logging:1.7.8") api("ch.qos.logback:logback-classic:1.2.3") } diff --git a/dataforge-context/src/commonMain/kotlin/hep/dataforge/context/Context.kt b/dataforge-context/src/commonMain/kotlin/hep/dataforge/context/Context.kt index 3db334c2..bf901991 100644 --- a/dataforge-context/src/commonMain/kotlin/hep/dataforge/context/Context.kt +++ b/dataforge-context/src/commonMain/kotlin/hep/dataforge/context/Context.kt @@ -92,8 +92,10 @@ open class Context( config.action() } - override val coroutineContext: CoroutineContext = (parent ?: Global).coroutineContext.let { parenContext -> - parenContext + SupervisorJob(parenContext[Job]) + override val coroutineContext: CoroutineContext by lazy { + (parent ?: Global).coroutineContext.let { parenContext -> + parenContext + SupervisorJob(parenContext[Job]) + } } /** diff --git a/dataforge-meta/src/commonMain/kotlin/hep/dataforge/meta/Config.kt b/dataforge-meta/src/commonMain/kotlin/hep/dataforge/meta/Config.kt index 53a2e184..0ac29d86 100644 --- a/dataforge-meta/src/commonMain/kotlin/hep/dataforge/meta/Config.kt +++ b/dataforge-meta/src/commonMain/kotlin/hep/dataforge/meta/Config.kt @@ -14,7 +14,7 @@ data class MetaListener( ) interface ObservableMeta : Meta { - fun onChange(owner: Any?, action: (Name, MetaItem<*>?, MetaItem<*>?) -> Unit) + fun onChange(owner: Any?, action: (name: Name, oldItem: MetaItem<*>?, newItem: MetaItem<*>?) -> Unit) fun removeListener(owner: Any?) }