From 11ec05c1a94132f9f69c672115ee61a65cd72814 Mon Sep 17 00:00:00 2001 From: Adam Fraser Date: Fri, 2 Dec 2022 10:22:31 +0000 Subject: [PATCH 1/2] Revert "fix scala 3 js issue" This reverts commit 418828b6789e22f4af3376308c4010c9f1cde5c6. --- .../main/scala/zio/internal/PlatformSpecific.scala | 11 ----------- .../main/scala/zio/internal/PlatformSpecific.scala | 4 ---- .../main/scala/zio/internal/PlatformSpecific.scala | 11 ----------- core/shared/src/main/scala/zio/VersionSpecific.scala | 2 +- 4 files changed, 1 insertion(+), 27 deletions(-) diff --git a/core/js/src/main/scala/zio/internal/PlatformSpecific.scala b/core/js/src/main/scala/zio/internal/PlatformSpecific.scala index 60d58ac16e72..8f56679e0758 100644 --- a/core/js/src/main/scala/zio/internal/PlatformSpecific.scala +++ b/core/js/src/main/scala/zio/internal/PlatformSpecific.scala @@ -18,7 +18,6 @@ package zio.internal import zio.stacktracer.TracingImplicits.disableAutoTrace -import java.util.function.{Function => JFunction} import java.util.{HashMap, HashSet, Map => JMap, Set => JSet} private[zio] trait PlatformSpecific { @@ -91,14 +90,4 @@ private[zio] trait PlatformSpecific { final def newConcurrentMap[A, B]()(implicit unsafe: zio.Unsafe): JMap[A, B] = new HashMap[A, B]() final def newWeakReference[A](value: A)(implicit unsafe: zio.Unsafe): () => A = { () => value } - - final def computeIfAbsent[A, B](map: JMap[A, B])(key: A, mappingFunction: JFunction[A, B]): B = { - val value = map.get(key) - if (value != null) value - else { - val value = mappingFunction(key) - if (value != null) map.put(key, value) - value - } - } } diff --git a/core/jvm/src/main/scala/zio/internal/PlatformSpecific.scala b/core/jvm/src/main/scala/zio/internal/PlatformSpecific.scala index 064a5c3f8eec..c2aa1a886c2a 100644 --- a/core/jvm/src/main/scala/zio/internal/PlatformSpecific.scala +++ b/core/jvm/src/main/scala/zio/internal/PlatformSpecific.scala @@ -20,7 +20,6 @@ import zio.stacktracer.TracingImplicits.disableAutoTrace import java.lang.ref.WeakReference import java.util.concurrent.ConcurrentHashMap -import java.util.function.{Function => JFunction} import java.util.{Collections, Map => JMap, Set => JSet, WeakHashMap} private[zio] trait PlatformSpecific { @@ -108,7 +107,4 @@ private[zio] trait PlatformSpecific { () => ref.get() } - - final def computeIfAbsent[A, B](map: JMap[A, B])(key: A, mappingFunction: JFunction[A, B]): B = - map.computeIfAbsent(key, mappingFunction) } diff --git a/core/native/src/main/scala/zio/internal/PlatformSpecific.scala b/core/native/src/main/scala/zio/internal/PlatformSpecific.scala index fb587c05c984..efe456cf2a76 100644 --- a/core/native/src/main/scala/zio/internal/PlatformSpecific.scala +++ b/core/native/src/main/scala/zio/internal/PlatformSpecific.scala @@ -18,7 +18,6 @@ package zio.internal import zio.stacktracer.TracingImplicits.disableAutoTrace -import java.util.function.{Function => JFunction} import java.util.{HashMap, HashSet, Map => JMap, Set => JSet} private[zio] trait PlatformSpecific { @@ -85,14 +84,4 @@ private[zio] trait PlatformSpecific { val _ = a () } - - final def computeIfAbsent[A, B](map: JMap[A, B])(key: A, mappingFunction: JFunction[A, B]): B = { - val value = map.get(key) - if (value != null) value - else { - val value = mappingFunction(key) - if (value != null) map.put(key, value) - value - } - } } diff --git a/core/shared/src/main/scala/zio/VersionSpecific.scala b/core/shared/src/main/scala/zio/VersionSpecific.scala index 11154ed03be3..6a5d1385ac0f 100644 --- a/core/shared/src/main/scala/zio/VersionSpecific.scala +++ b/core/shared/src/main/scala/zio/VersionSpecific.scala @@ -60,7 +60,7 @@ private[zio] trait VersionSpecific { type LightTypeTag = izumi.reflect.macrortti.LightTypeTag private[zio] def taggedIsSubtype(left: LightTypeTag, right: LightTypeTag): Boolean = - Platform.computeIfAbsent(taggedSubtypes)((left, right), _ => left <:< right) + taggedSubtypes.computeIfAbsent((left, right), _ => left <:< right) private[zio] def taggedTagType[A](tagged: EnvironmentTag[A]): LightTypeTag = tagged.tag From 214eda5409efeb4b8c5ae13ce97b03b1e64e7b2b Mon Sep 17 00:00:00 2001 From: Adam Fraser Date: Fri, 2 Dec 2022 10:33:03 +0000 Subject: [PATCH 2/2] create class manually --- core/shared/src/main/scala/zio/VersionSpecific.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/shared/src/main/scala/zio/VersionSpecific.scala b/core/shared/src/main/scala/zio/VersionSpecific.scala index 6a5d1385ac0f..b8a271f12356 100644 --- a/core/shared/src/main/scala/zio/VersionSpecific.scala +++ b/core/shared/src/main/scala/zio/VersionSpecific.scala @@ -60,7 +60,13 @@ private[zio] trait VersionSpecific { type LightTypeTag = izumi.reflect.macrortti.LightTypeTag private[zio] def taggedIsSubtype(left: LightTypeTag, right: LightTypeTag): Boolean = - taggedSubtypes.computeIfAbsent((left, right), _ => left <:< right) + taggedSubtypes.computeIfAbsent( + (left, right), + new java.util.function.Function[(LightTypeTag, LightTypeTag), Boolean] { + override def apply(tags: (LightTypeTag, LightTypeTag)): Boolean = + tags._1 <:< tags._2 + } + ) private[zio] def taggedTagType[A](tagged: EnvironmentTag[A]): LightTypeTag = tagged.tag