Skip to content

Commit 9a5a5e0

Browse files
committed
Restore a removed ClockKt.asClock for legacy classes
1 parent 8ca06c0 commit 9a5a5e0

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

core/api/kotlinx-datetime.api

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,6 +1005,7 @@ final fun (kotlin.time/Instant).kotlinx.datetime/until(kotlin.time/Instant, kotl
10051005
final fun (kotlin.time/Instant).kotlinx.datetime/yearsUntil(kotlin.time/Instant, kotlinx.datetime/TimeZone): kotlin/Int // kotlinx.datetime/yearsUntil|yearsUntil@kotlin.time.Instant(kotlin.time.Instant;kotlinx.datetime.TimeZone){}[0]
10061006
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|parse@kotlin.time.Instant.Companion(kotlin.CharSequence;kotlinx.datetime.format.DateTimeFormat<kotlinx.datetime.format.DateTimeComponents>){}[0]
10071007
final fun (kotlin.time/TimeSource).kotlinx.datetime/asClock(kotlin.time/Instant): kotlin.time/Clock // kotlinx.datetime/asClock|asClock@kotlin.time.TimeSource(kotlin.time.Instant){}[0]
1008+
final fun (kotlin.time/TimeSource).kotlinx.datetime/asClock(kotlinx.datetime/Instant): kotlinx.datetime/Clock // kotlinx.datetime/asClock|asClock@kotlin.time.TimeSource(kotlinx.datetime.Instant){}[0]
10081009
final fun (kotlin/String).kotlinx.datetime/toDatePeriod(): kotlinx.datetime/DatePeriod // kotlinx.datetime/toDatePeriod|toDatePeriod@kotlin.String(){}[0]
10091010
final fun (kotlin/String).kotlinx.datetime/toDateTimePeriod(): kotlinx.datetime/DateTimePeriod // kotlinx.datetime/toDateTimePeriod|toDateTimePeriod@kotlin.String(){}[0]
10101011
final fun (kotlin/String).kotlinx.datetime/toInstant(): kotlinx.datetime/Instant // kotlinx.datetime/toInstant|toInstant@kotlin.String(){}[0]

core/common/src/DeprecatedClock.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ package kotlinx.datetime
1111
import kotlin.jvm.JvmMultifileClass
1212
import kotlin.jvm.JvmName
1313
import kotlin.time.ExperimentalTime
14+
import kotlin.time.TimeMark
1415
import kotlin.time.TimeSource
1516

1617
/**
@@ -124,3 +125,13 @@ public fun Clock.asTimeSource(): TimeSource.WithComparableMarks = toStdlibClock(
124125

125126
@Deprecated("Use Clock.todayIn instead", ReplaceWith("this.toStdlibClock().todayIn(timeZone)"), DeprecationLevel.WARNING)
126127
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)