Skip to content

Commit 5581303

Browse files
committed
Restore a removed ClockKt.asClock for legacy classes
1 parent b59999c commit 5581303

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

core/api/kotlinx-datetime.api

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public final class kotlinx/datetime/Clock$System : kotlinx/datetime/Clock {
1313

1414
public final class kotlinx/datetime/ClockKt {
1515
public static final fun asClock (Lkotlin/time/TimeSource;Lkotlin/time/Instant;)Lkotlin/time/Clock;
16+
public static final fun asClock (Lkotlin/time/TimeSource;Lkotlinx/datetime/Instant;)Lkotlinx/datetime/Clock;
1617
public static final fun asTimeSource (Lkotlin/time/Clock;)Lkotlin/time/TimeSource$WithComparableMarks;
1718
public static final fun asTimeSource (Lkotlinx/datetime/Clock;)Lkotlin/time/TimeSource$WithComparableMarks;
1819
public static final fun toDeprecatedClock (Lkotlin/time/Clock;)Lkotlinx/datetime/Clock;

core/api/kotlinx-datetime.klib.api

+1
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,7 @@ final fun (kotlin.time/Instant).kotlinx.datetime/until(kotlin.time/Instant, kotl
898898
final fun (kotlin.time/Instant).kotlinx.datetime/yearsUntil(kotlin.time/Instant, kotlinx.datetime/TimeZone): kotlin/Int // kotlinx.datetime/yearsUntil|[email protected](kotlin.time.Instant;kotlinx.datetime.TimeZone){}[0]
899899
final fun (kotlin.time/Instant.Companion).kotlinx.datetime/parse(kotlin/CharSequence, kotlinx.datetime.format/DateTimeFormat<kotlinx.datetime.format/DateTimeComponents>): kotlin.time/Instant // kotlinx.datetime/parse|[email protected](kotlin.CharSequence;kotlinx.datetime.format.DateTimeFormat<kotlinx.datetime.format.DateTimeComponents>){}[0]
900900
final fun (kotlin.time/TimeSource).kotlinx.datetime/asClock(kotlin.time/Instant): kotlin.time/Clock // kotlinx.datetime/asClock|[email protected](kotlin.time.Instant){}[0]
901+
final fun (kotlin.time/TimeSource).kotlinx.datetime/asClock(kotlinx.datetime/Instant): kotlinx.datetime/Clock // kotlinx.datetime/asClock|[email protected](kotlinx.datetime.Instant){}[0]
901902
final fun (kotlin/String).kotlinx.datetime/toDatePeriod(): kotlinx.datetime/DatePeriod // kotlinx.datetime/toDatePeriod|[email protected](){}[0]
902903
final fun (kotlin/String).kotlinx.datetime/toDateTimePeriod(): kotlinx.datetime/DateTimePeriod // kotlinx.datetime/toDateTimePeriod|[email protected](){}[0]
903904
final fun (kotlin/String).kotlinx.datetime/toInstant(): kotlinx.datetime/Instant // kotlinx.datetime/toInstant|[email protected](){}[0]

core/common/src/DeprecatedClock.kt

+11-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ package kotlinx.datetime
1010

1111
import kotlin.jvm.JvmMultifileClass
1212
import kotlin.jvm.JvmName
13-
import kotlin.time.ComparableTimeMark
14-
import kotlin.time.Duration
15-
import kotlin.time.Duration.Companion.seconds
1613
import kotlin.time.ExperimentalTime
14+
import kotlin.time.TimeMark
1715
import kotlin.time.TimeSource
1816

1917
/**
@@ -127,3 +125,13 @@ public fun Clock.asTimeSource(): TimeSource.WithComparableMarks = toStdlibClock(
127125

128126
@Deprecated("Use Clock.todayIn instead", ReplaceWith("this.toStdlibClock().todayIn(timeZone)"), DeprecationLevel.WARNING)
129127
public fun Clock.todayAt(timeZone: TimeZone): LocalDate = todayIn(timeZone)
128+
129+
@Deprecated(
130+
"kotlin.datetime.Clock is superseded by kotlin.time.Clock",
131+
ReplaceWith("this.asClock(origin.toStdlibInstant()).toDeprecatedClock()"),
132+
level = DeprecationLevel.WARNING
133+
)
134+
public fun TimeSource.asClock(origin: kotlinx.datetime.Instant): kotlinx.datetime.Clock = object : Clock {
135+
private val startMark: TimeMark = markNow()
136+
override fun now() = origin + startMark.elapsedNow()
137+
}

0 commit comments

Comments
 (0)