From c04c89de0d1df7184da42ed44618a6ee43b7d06a Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Wed, 29 Mar 2023 19:17:23 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D0=B4=D0=BE=20=D1=81=D0=BE=D1=85?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D1=8F=D1=82=D1=8C=20=D0=BF=D0=BE=D1=80=D1=8F?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/dbotthepony/kstarbound/Starbound.kt | 39 ++++++------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt index 57a80a77..fad13193 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/Starbound.kt @@ -686,40 +686,25 @@ class Starbound : ISBFileLocator { .flatMap { it.explore() } .filter { it.isFile } .collect(object : - Collector>, - Map>>, - Supplier>>, - BiConsumer>, IStarboundFile>, - BinaryOperator>> + Collector>, Map>> { - override fun accept(t: Object2ObjectOpenHashMap>, u: IStarboundFile) { - t.computeIfAbsent(u.name.substringAfterLast('.'), Object2ObjectFunction { ArrayList() }).add(u) - } - - override fun get(): Object2ObjectOpenHashMap> { - return Object2ObjectOpenHashMap() - } - override fun supplier(): Supplier>> { - return this + return Supplier { Object2ObjectOpenHashMap() } } override fun accumulator(): BiConsumer>, IStarboundFile> { - return this - } - - override fun apply( - t: Object2ObjectOpenHashMap>, - u: Object2ObjectOpenHashMap> - ): Object2ObjectOpenHashMap> { - for ((k, v) in u) - t.computeIfAbsent(k, Object2ObjectFunction { ArrayList() }).addAll(v) - - return t + return BiConsumer { t, u -> + t.computeIfAbsent(u.name.substringAfterLast('.'), Object2ObjectFunction { ArrayList() }).add(u) + } } override fun combiner(): BinaryOperator>> { - return this + return BinaryOperator { t, u -> + for ((k, v) in u) + t.computeIfAbsent(k, Object2ObjectFunction { ArrayList() }).addAll(v) + + t + } } override fun finisher(): Function>, Map>> { @@ -727,7 +712,7 @@ class Starbound : ISBFileLocator { } override fun characteristics(): Set { - return setOf(Collector.Characteristics.IDENTITY_FINISH, Collector.Characteristics.UNORDERED) + return setOf(Collector.Characteristics.IDENTITY_FINISH) } })