Skip to content

Commit e3fa37b

Browse files
authored
Enable jvm-default (#4553)
Since `kotlinx.coroutines` is already on Kotlin 2.2.0 at least, simply removing the flags disabling the `jvm-default` functionality is enough. See #4372 for the previous stage of this.
1 parent 759f7bd commit e3fa37b

File tree

4 files changed

+30
-17
lines changed

4 files changed

+30
-17
lines changed

benchmarks/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ java {
1919
tasks.named<KotlinCompile>("compileJmhKotlin") {
2020
compilerOptions {
2121
jvmTarget = JvmTarget.JVM_1_8
22-
freeCompilerArgs.add("-Xjvm-default=all")
2322
}
2423
}
2524

buildSrc/src/main/kotlin/configure-compilation-conventions.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ configure(subprojects) {
2828
"-Xno-param-assertions",
2929
"-Xno-call-assertions",
3030
"-Xno-receiver-assertions",
31-
"-Xjvm-default=disable",
3231
)
3332
}
3433
if (this@configureEach is KotlinNativeCompile) {

kotlinx-coroutines-core/api/kotlinx-coroutines-core.api

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public final class kotlinx/coroutines/BuildersKt {
3434

3535
public abstract interface class kotlinx/coroutines/CancellableContinuation : kotlin/coroutines/Continuation {
3636
public abstract fun cancel (Ljava/lang/Throwable;)Z
37+
public static synthetic fun cancel$default (Lkotlinx/coroutines/CancellableContinuation;Ljava/lang/Throwable;ILjava/lang/Object;)Z
3738
public abstract fun completeResume (Ljava/lang/Object;)V
3839
public abstract fun initCancellability ()V
3940
public abstract fun invokeOnCancellation (Lkotlin/jvm/functions/Function1;)V
@@ -46,6 +47,7 @@ public abstract interface class kotlinx/coroutines/CancellableContinuation : kot
4647
public abstract fun resumeUndispatchedWithException (Lkotlinx/coroutines/CoroutineDispatcher;Ljava/lang/Throwable;)V
4748
public abstract fun tryResume (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
4849
public abstract fun tryResume (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;)Ljava/lang/Object;
50+
public static synthetic fun tryResume$default (Lkotlinx/coroutines/CancellableContinuation;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
4951
public abstract fun tryResumeWithException (Ljava/lang/Throwable;)Ljava/lang/Object;
5052
}
5153

@@ -300,8 +302,8 @@ public final class kotlinx/coroutines/Deferred$DefaultImpls {
300302
}
301303

302304
public abstract interface class kotlinx/coroutines/Delay {
303-
public abstract fun delay (JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
304-
public abstract fun invokeOnTimeout (JLjava/lang/Runnable;Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/DisposableHandle;
305+
public fun delay (JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
306+
public fun invokeOnTimeout (JLjava/lang/Runnable;Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/DisposableHandle;
305307
public abstract fun scheduleResumeAfterDelay (JLkotlinx/coroutines/CancellableContinuation;)V
306308
}
307309

@@ -402,20 +404,23 @@ public final class kotlinx/coroutines/InterruptibleKt {
402404
public abstract interface class kotlinx/coroutines/Job : kotlin/coroutines/CoroutineContext$Element {
403405
public static final field Key Lkotlinx/coroutines/Job$Key;
404406
public abstract fun attachChild (Lkotlinx/coroutines/ChildJob;)Lkotlinx/coroutines/ChildHandle;
405-
public abstract synthetic fun cancel ()V
407+
public synthetic fun cancel ()V
406408
public abstract synthetic fun cancel (Ljava/lang/Throwable;)Z
407409
public abstract fun cancel (Ljava/util/concurrent/CancellationException;)V
410+
public static synthetic fun cancel$default (Lkotlinx/coroutines/Job;Ljava/lang/Throwable;ILjava/lang/Object;)Z
411+
public static synthetic fun cancel$default (Lkotlinx/coroutines/Job;Ljava/util/concurrent/CancellationException;ILjava/lang/Object;)V
408412
public abstract fun getCancellationException ()Ljava/util/concurrent/CancellationException;
409413
public abstract fun getChildren ()Lkotlin/sequences/Sequence;
410414
public abstract fun getOnJoin ()Lkotlinx/coroutines/selects/SelectClause0;
411415
public abstract fun getParent ()Lkotlinx/coroutines/Job;
412416
public abstract fun invokeOnCompletion (Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle;
413417
public abstract fun invokeOnCompletion (ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/DisposableHandle;
418+
public static synthetic fun invokeOnCompletion$default (Lkotlinx/coroutines/Job;ZZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/DisposableHandle;
414419
public abstract fun isActive ()Z
415420
public abstract fun isCancelled ()Z
416421
public abstract fun isCompleted ()Z
417422
public abstract fun join (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
418-
public abstract fun plus (Lkotlinx/coroutines/Job;)Lkotlinx/coroutines/Job;
423+
public fun plus (Lkotlinx/coroutines/Job;)Lkotlinx/coroutines/Job;
419424
public abstract fun start ()Z
420425
}
421426

@@ -647,6 +652,8 @@ public final class kotlinx/coroutines/channels/ActorScope$DefaultImpls {
647652
public abstract interface class kotlinx/coroutines/channels/BroadcastChannel : kotlinx/coroutines/channels/SendChannel {
648653
public abstract synthetic fun cancel (Ljava/lang/Throwable;)Z
649654
public abstract fun cancel (Ljava/util/concurrent/CancellationException;)V
655+
public static synthetic fun cancel$default (Lkotlinx/coroutines/channels/BroadcastChannel;Ljava/lang/Throwable;ILjava/lang/Object;)Z
656+
public static synthetic fun cancel$default (Lkotlinx/coroutines/channels/BroadcastChannel;Ljava/util/concurrent/CancellationException;ILjava/lang/Object;)V
650657
public abstract fun openSubscription ()Lkotlinx/coroutines/channels/ReceiveChannel;
651658
}
652659

@@ -704,7 +711,8 @@ public final class kotlinx/coroutines/channels/Channel$Factory {
704711
public abstract interface class kotlinx/coroutines/channels/ChannelIterator {
705712
public abstract fun hasNext (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
706713
public abstract fun next ()Ljava/lang/Object;
707-
public abstract synthetic fun next (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
714+
public synthetic fun next (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
715+
public static synthetic fun next (Lkotlinx/coroutines/channels/ChannelIterator;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
708716
}
709717

710718
public final class kotlinx/coroutines/channels/ChannelIterator$DefaultImpls {
@@ -877,19 +885,21 @@ public final class kotlinx/coroutines/channels/ProducerScope$DefaultImpls {
877885
}
878886

879887
public abstract interface class kotlinx/coroutines/channels/ReceiveChannel {
880-
public abstract synthetic fun cancel ()V
888+
public synthetic fun cancel ()V
881889
public abstract synthetic fun cancel (Ljava/lang/Throwable;)Z
882890
public abstract fun cancel (Ljava/util/concurrent/CancellationException;)V
891+
public static synthetic fun cancel$default (Lkotlinx/coroutines/channels/ReceiveChannel;Ljava/lang/Throwable;ILjava/lang/Object;)Z
892+
public static synthetic fun cancel$default (Lkotlinx/coroutines/channels/ReceiveChannel;Ljava/util/concurrent/CancellationException;ILjava/lang/Object;)V
883893
public abstract fun getOnReceive ()Lkotlinx/coroutines/selects/SelectClause1;
884894
public abstract fun getOnReceiveCatching ()Lkotlinx/coroutines/selects/SelectClause1;
885-
public abstract fun getOnReceiveOrNull ()Lkotlinx/coroutines/selects/SelectClause1;
895+
public fun getOnReceiveOrNull ()Lkotlinx/coroutines/selects/SelectClause1;
886896
public abstract fun isClosedForReceive ()Z
887897
public abstract fun isEmpty ()Z
888898
public abstract fun iterator ()Lkotlinx/coroutines/channels/ChannelIterator;
889-
public abstract fun poll ()Ljava/lang/Object;
899+
public fun poll ()Ljava/lang/Object;
890900
public abstract fun receive (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
891901
public abstract fun receiveCatching-JP2dKIU (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
892-
public abstract fun receiveOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
902+
public fun receiveOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
893903
public abstract fun tryReceive-PtdJZtk ()Ljava/lang/Object;
894904
}
895905

@@ -904,10 +914,11 @@ public final class kotlinx/coroutines/channels/ReceiveChannel$DefaultImpls {
904914

905915
public abstract interface class kotlinx/coroutines/channels/SendChannel {
906916
public abstract fun close (Ljava/lang/Throwable;)Z
917+
public static synthetic fun close$default (Lkotlinx/coroutines/channels/SendChannel;Ljava/lang/Throwable;ILjava/lang/Object;)Z
907918
public abstract fun getOnSend ()Lkotlinx/coroutines/selects/SelectClause2;
908919
public abstract fun invokeOnClose (Lkotlin/jvm/functions/Function1;)V
909920
public abstract fun isClosedForSend ()Z
910-
public abstract fun offer (Ljava/lang/Object;)Z
921+
public fun offer (Ljava/lang/Object;)Z
911922
public abstract fun send (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
912923
public abstract fun trySend-JP2dKIU (Ljava/lang/Object;)Ljava/lang/Object;
913924
}
@@ -1259,6 +1270,7 @@ public final class kotlinx/coroutines/flow/internal/FlowExceptions_commonKt {
12591270

12601271
public abstract interface class kotlinx/coroutines/flow/internal/FusibleFlow : kotlinx/coroutines/flow/Flow {
12611272
public abstract fun fuse (Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/Flow;
1273+
public static synthetic fun fuse$default (Lkotlinx/coroutines/flow/internal/FusibleFlow;Lkotlin/coroutines/CoroutineContext;ILkotlinx/coroutines/channels/BufferOverflow;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
12621274
}
12631275

12641276
public final class kotlinx/coroutines/flow/internal/FusibleFlow$DefaultImpls {
@@ -1322,7 +1334,7 @@ public class kotlinx/coroutines/internal/LockFreeLinkedListNode {
13221334
public abstract interface class kotlinx/coroutines/internal/MainDispatcherFactory {
13231335
public abstract fun createDispatcher (Ljava/util/List;)Lkotlinx/coroutines/MainCoroutineDispatcher;
13241336
public abstract fun getLoadPriority ()I
1325-
public abstract fun hintOnError ()Ljava/lang/String;
1337+
public fun hintOnError ()Ljava/lang/String;
13261338
}
13271339

13281340
public final class kotlinx/coroutines/internal/MainDispatcherFactory$DefaultImpls {
@@ -1411,8 +1423,8 @@ public abstract interface class kotlinx/coroutines/selects/SelectBuilder {
14111423
public abstract fun invoke (Lkotlinx/coroutines/selects/SelectClause0;Lkotlin/jvm/functions/Function1;)V
14121424
public abstract fun invoke (Lkotlinx/coroutines/selects/SelectClause1;Lkotlin/jvm/functions/Function2;)V
14131425
public abstract fun invoke (Lkotlinx/coroutines/selects/SelectClause2;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V
1414-
public abstract fun invoke (Lkotlinx/coroutines/selects/SelectClause2;Lkotlin/jvm/functions/Function2;)V
1415-
public abstract fun onTimeout (JLkotlin/jvm/functions/Function1;)V
1426+
public fun invoke (Lkotlinx/coroutines/selects/SelectClause2;Lkotlin/jvm/functions/Function2;)V
1427+
public fun onTimeout (JLkotlin/jvm/functions/Function1;)V
14161428
}
14171429

14181430
public final class kotlinx/coroutines/selects/SelectBuilder$DefaultImpls {
@@ -1506,8 +1518,11 @@ public abstract interface class kotlinx/coroutines/sync/Mutex {
15061518
public abstract fun holdsLock (Ljava/lang/Object;)Z
15071519
public abstract fun isLocked ()Z
15081520
public abstract fun lock (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
1521+
public static synthetic fun lock$default (Lkotlinx/coroutines/sync/Mutex;Ljava/lang/Object;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
15091522
public abstract fun tryLock (Ljava/lang/Object;)Z
1523+
public static synthetic fun tryLock$default (Lkotlinx/coroutines/sync/Mutex;Ljava/lang/Object;ILjava/lang/Object;)Z
15101524
public abstract fun unlock (Ljava/lang/Object;)V
1525+
public static synthetic fun unlock$default (Lkotlinx/coroutines/sync/Mutex;Ljava/lang/Object;ILjava/lang/Object;)V
15111526
}
15121527

15131528
public final class kotlinx/coroutines/sync/Mutex$DefaultImpls {

kotlinx-coroutines-core/jvm/test-resources/stacktraces/channels/testSendToChannel.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
java.util.concurrent.CancellationException: Channel was cancelled
22
at kotlinx.coroutines.channels.BufferedChannel.cancelImpl$(BufferedChannel.kt)
33
at kotlinx.coroutines.channels.BufferedChannel.cancel(BufferedChannel.kt)
4-
at kotlinx.coroutines.channels.ReceiveChannel$DefaultImpls.cancel$default(Channel.kt)
4+
at kotlinx.coroutines.channels.ReceiveChannel.cancel$default(Channel.kt)
55
at kotlinx.coroutines.exceptions.StackTraceRecoveryChannelsTest$testSendToChannel$1$job$1.invokeSuspend(StackTraceRecoveryChannelsTest.kt)
66
at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt)
77
at kotlinx.coroutines.exceptions.StackTraceRecoveryChannelsTest.channelSend(StackTraceRecoveryChannelsTest.kt)
88
at kotlinx.coroutines.exceptions.StackTraceRecoveryChannelsTest$testSendToChannel$1.invokeSuspend(StackTraceRecoveryChannelsTest.kt)
99
Caused by: java.util.concurrent.CancellationException: Channel was cancelled
1010
at kotlinx.coroutines.channels.BufferedChannel.cancelImpl$(BufferedChannel.kt)
1111
at kotlinx.coroutines.channels.BufferedChannel.cancel(BufferedChannel.kt)
12-
at kotlinx.coroutines.channels.ReceiveChannel$DefaultImpls.cancel$default(Channel.kt)
12+
at kotlinx.coroutines.channels.ReceiveChannel.cancel$default(Channel.kt)
1313
at kotlinx.coroutines.exceptions.StackTraceRecoveryChannelsTest$testSendToChannel$1$job$1.invokeSuspend(StackTraceRecoveryChannelsTest.kt)
1414
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
1515
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt)

0 commit comments

Comments
 (0)