From 3b74968f9a356b103ca799e348d0490086d77181 Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Wed, 27 Mar 2024 09:11:35 +0300 Subject: [PATCH] Change logic of AttributesBuilder. It no longer exposes the constructor --- .../space/kscience/attributes/AttributesBuilder.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/AttributesBuilder.kt b/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/AttributesBuilder.kt index 033c143cc..0a185f74c 100644 --- a/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/AttributesBuilder.kt +++ b/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/AttributesBuilder.kt @@ -14,8 +14,6 @@ public class AttributesBuilder internal constructor( private val map: MutableMap, Any?>, ) : Attributes { - public constructor() : this(mutableMapOf()) - override fun toString(): String = "Attributes(value=${content.entries})" override fun equals(other: Any?): Boolean = other is Attributes && Attributes.equals(this, other) override fun hashCode(): Int = content.hashCode() @@ -61,5 +59,9 @@ public class AttributesBuilder internal constructor( public fun build(): Attributes = AttributesImpl(map) } -public inline fun Attributes(builder: AttributesBuilder.() -> Unit): Attributes = - AttributesBuilder().apply(builder).build() \ No newline at end of file +/** + * Create [Attributes] with a given [builder] + * @param O the type for which attributes are built. The type is used only during compilation phase for static extension dispatch + */ +public fun Attributes(builder: AttributesBuilder.() -> Unit): Attributes = + AttributesBuilder(mutableMapOf()).apply(builder).build() \ No newline at end of file