From e35ace5d3a4fa5f6cf9a9c92d221868a517dfe0e Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 16 Sep 2022 22:46:27 +0200 Subject: [PATCH] Deprecate AbstractDoubleTimeSource There are too few usages of it, and it can be mostly replaced with AbstractLongTimeSource. --- libraries/stdlib/api/js-v1/kotlin.time.kt | 1 + libraries/stdlib/api/js/kotlin.time.kt | 1 + libraries/stdlib/src/kotlin/time/TimeSources.kt | 2 ++ libraries/stdlib/test/time/TimeMarkTest.kt | 1 + 4 files changed, 5 insertions(+) diff --git a/libraries/stdlib/api/js-v1/kotlin.time.kt b/libraries/stdlib/api/js-v1/kotlin.time.kt index aa339585534..b41040fcd2d 100644 --- a/libraries/stdlib/api/js-v1/kotlin.time.kt +++ b/libraries/stdlib/api/js-v1/kotlin.time.kt @@ -172,6 +172,7 @@ public fun kotlin.Long.toDuration(unit: kotlin.time.DurationUnit): kotlin.time.D @kotlin.SinceKotlin(version = "1.3") @kotlin.time.ExperimentalTime +@kotlin.Deprecated(message = "Using AbstractDoubleTimeSource is no longer recommended, use AbstractLongTimeSource instead.") public abstract class AbstractDoubleTimeSource : kotlin.time.TimeSource.WithComparableMarks { public constructor AbstractDoubleTimeSource(unit: kotlin.time.DurationUnit) diff --git a/libraries/stdlib/api/js/kotlin.time.kt b/libraries/stdlib/api/js/kotlin.time.kt index aa339585534..b41040fcd2d 100644 --- a/libraries/stdlib/api/js/kotlin.time.kt +++ b/libraries/stdlib/api/js/kotlin.time.kt @@ -172,6 +172,7 @@ public fun kotlin.Long.toDuration(unit: kotlin.time.DurationUnit): kotlin.time.D @kotlin.SinceKotlin(version = "1.3") @kotlin.time.ExperimentalTime +@kotlin.Deprecated(message = "Using AbstractDoubleTimeSource is no longer recommended, use AbstractLongTimeSource instead.") public abstract class AbstractDoubleTimeSource : kotlin.time.TimeSource.WithComparableMarks { public constructor AbstractDoubleTimeSource(unit: kotlin.time.DurationUnit) diff --git a/libraries/stdlib/src/kotlin/time/TimeSources.kt b/libraries/stdlib/src/kotlin/time/TimeSources.kt index 08c6376bc26..2833ad6ee2a 100644 --- a/libraries/stdlib/src/kotlin/time/TimeSources.kt +++ b/libraries/stdlib/src/kotlin/time/TimeSources.kt @@ -90,6 +90,7 @@ public abstract class AbstractLongTimeSource(protected val unit: DurationUnit) : */ @SinceKotlin("1.3") @ExperimentalTime +@Deprecated("Using AbstractDoubleTimeSource is no longer recommended, use AbstractLongTimeSource instead.") public abstract class AbstractDoubleTimeSource(protected val unit: DurationUnit) : TimeSource.WithComparableMarks { /** * This protected method should be overridden to return the current reading of the time source expressed as a [Double] number @@ -97,6 +98,7 @@ public abstract class AbstractDoubleTimeSource(protected val unit: DurationUnit) */ protected abstract fun read(): Double + @Suppress("DEPRECATION") private class DoubleTimeMark(private val startedAt: Double, private val timeSource: AbstractDoubleTimeSource, private val offset: Duration) : ComparableTimeMark { override fun elapsedNow(): Duration = (timeSource.read() - startedAt).toDuration(timeSource.unit) - offset override fun plus(duration: Duration): ComparableTimeMark = DoubleTimeMark(startedAt, timeSource, offset + duration) diff --git a/libraries/stdlib/test/time/TimeMarkTest.kt b/libraries/stdlib/test/time/TimeMarkTest.kt index 3f8e61d5f4a..704b9e4a619 100644 --- a/libraries/stdlib/test/time/TimeMarkTest.kt +++ b/libraries/stdlib/test/time/TimeMarkTest.kt @@ -184,6 +184,7 @@ class TimeMarkTest { override fun read(): Long = reading } + @Suppress("DEPRECATION") private class DoubleTimeSource(unit: DurationUnit) : AbstractDoubleTimeSource(unit) { var reading: Double = 0.0 override fun read(): Double = reading