Skip to content

Commit ab0a40d

Browse files
authored
Restore the broken bit of ABI compatibility for Native, JS, and Wasm (#357)
Fixes #356
1 parent c84554c commit ab0a40d

File tree

10 files changed

+30
-0
lines changed

10 files changed

+30
-0
lines changed

core/commonJs/src/Instant.kt

+3
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ public actual class Instant internal constructor(internal val value: jtInstant)
9090
}
9191
}
9292

93+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
94+
public fun parse(isoString: String): Instant = parse(input = isoString)
95+
9396
/** A workaround for the string representations of Instant that have an offset of the form
9497
* "+XX" not being recognized by [jtOffsetDateTime.parse], while "+XX:XX" work fine. */
9598
private fun fixOffsetRepresentation(isoString: String): String {

core/commonJs/src/LocalDate.kt

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ public actual class LocalDate internal constructor(internal val value: jtLocalDa
2929
format.parse(input)
3030
}
3131

32+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
33+
public fun parse(isoString: String): LocalDate = parse(input = isoString)
34+
3235
internal actual val MIN: LocalDate = LocalDate(jtLocalDate.MIN)
3336
internal actual val MAX: LocalDate = LocalDate(jtLocalDate.MAX)
3437

core/commonJs/src/LocalDateTime.kt

+3
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ public actual class LocalDateTime internal constructor(internal val value: jtLoc
6666
format.parse(input)
6767
}
6868

69+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
70+
public fun parse(isoString: String): LocalDateTime = parse(input = isoString)
71+
6972
internal actual val MIN: LocalDateTime = LocalDateTime(jtLocalDateTime.MIN)
7073
internal actual val MAX: LocalDateTime = LocalDateTime(jtLocalDateTime.MAX)
7174

core/commonJs/src/LocalTime.kt

+3
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ public actual class LocalTime internal constructor(internal val value: jtLocalTi
5656
format.parse(input)
5757
}
5858

59+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
60+
public fun parse(isoString: String): LocalTime = parse(input = isoString)
61+
5962
public actual fun fromSecondOfDay(secondOfDay: Int): LocalTime = try {
6063
jsTry { jtLocalTime.ofSecondOfDay(secondOfDay, 0) }.let(::LocalTime)
6164
} catch (e: Throwable) {

core/commonJs/src/UtcOffset.kt

+3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ public actual class UtcOffset internal constructor(internal val zoneOffset: jtZo
3232
else -> format.parse(input)
3333
}
3434

35+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
36+
public fun parse(offsetString: String): UtcOffset = parse(input = offsetString)
37+
3538
@Suppress("FunctionName")
3639
public actual fun Format(block: DateTimeFormatBuilder.WithUtcOffset.() -> Unit): DateTimeFormat<UtcOffset> =
3740
UtcOffsetFormat.build(block)

core/native/src/Instant.kt

+3
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ public actual class Instant internal constructor(public actual val epochSeconds:
143143
throw DateTimeFormatException("Failed to parse an instant from '$input'", e)
144144
}
145145

146+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
147+
public fun parse(isoString: String): Instant = parse(input = isoString)
148+
146149
public actual val DISTANT_PAST: Instant = fromEpochSeconds(DISTANT_PAST_SECONDS, 999_999_999)
147150

148151
public actual val DISTANT_FUTURE: Instant = fromEpochSeconds(DISTANT_FUTURE_SECONDS, 0)

core/native/src/LocalDate.kt

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ public actual class LocalDate actual constructor(public actual val year: Int, pu
4444
public actual companion object {
4545
public actual fun parse(input: CharSequence, format: DateTimeFormat<LocalDate>): LocalDate = format.parse(input)
4646

47+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
48+
public fun parse(isoString: String): LocalDate = parse(input = isoString)
49+
4750
// org.threeten.bp.LocalDate#toEpochDay
4851
public actual fun fromEpochDays(epochDays: Int): LocalDate {
4952
// LocalDate(-999999, 1, 1).toEpochDay(), LocalDate(999999, 12, 31).toEpochDay()

core/native/src/LocalDateTime.kt

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ public actual constructor(public actual val date: LocalDate, public actual val t
2020
public actual fun parse(input: CharSequence, format: DateTimeFormat<LocalDateTime>): LocalDateTime =
2121
format.parse(input)
2222

23+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
24+
public fun parse(isoString: String): LocalDateTime = parse(input = isoString)
25+
2326
internal actual val MIN: LocalDateTime = LocalDateTime(LocalDate.MIN, LocalTime.MIN)
2427
internal actual val MAX: LocalDateTime = LocalDateTime(LocalDate.MAX, LocalTime.MAX)
2528

core/native/src/LocalTime.kt

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ public actual class LocalTime actual constructor(
3535
public actual companion object {
3636
public actual fun parse(input: CharSequence, format: DateTimeFormat<LocalTime>): LocalTime = format.parse(input)
3737

38+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
39+
public fun parse(isoString: String): LocalTime = parse(input = isoString)
40+
3841
public actual fun fromSecondOfDay(secondOfDay: Int): LocalTime =
3942
ofSecondOfDay(secondOfDay, 0)
4043

core/native/src/UtcOffset.kt

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public actual class UtcOffset private constructor(public actual val totalSeconds
2424

2525
public actual fun parse(input: CharSequence, format: DateTimeFormat<UtcOffset>): UtcOffset = format.parse(input)
2626

27+
@Deprecated("This overload is only kept for binary compatibility", level = DeprecationLevel.HIDDEN)
28+
public fun parse(offsetString: String): UtcOffset = parse(input = offsetString)
29+
2730
private fun validateTotal(totalSeconds: Int) {
2831
if (totalSeconds !in -18 * SECONDS_PER_HOUR .. 18 * SECONDS_PER_HOUR) {
2932
throw IllegalArgumentException("Total seconds value is out of range: $totalSeconds")

0 commit comments

Comments
 (0)