Remove __broadcastJava

This commit is contained in:
Him188 2021-12-12 19:12:06 +00:00
parent d6c2c379c3
commit 6103628801
5 changed files with 8 additions and 22 deletions

View File

@ -1750,7 +1750,7 @@ public abstract interface annotation class net/mamoe/mirai/event/EventHandler :
public final class net/mamoe/mirai/event/EventKt {
public static final fun broadcast (Lnet/mamoe/mirai/event/Event;)Lnet/mamoe/mirai/event/Event;
public static final synthetic fun broadcast (Lnet/mamoe/mirai/event/Event;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static final fun broadcast (Lnet/mamoe/mirai/event/Event;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static final fun getEventDisabled ()Z
public static final fun setEventDisabled (Z)V
}

View File

@ -1750,7 +1750,7 @@ public abstract interface annotation class net/mamoe/mirai/event/EventHandler :
public final class net/mamoe/mirai/event/EventKt {
public static final fun broadcast (Lnet/mamoe/mirai/event/Event;)Lnet/mamoe/mirai/event/Event;
public static final synthetic fun broadcast (Lnet/mamoe/mirai/event/Event;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static final fun broadcast (Lnet/mamoe/mirai/event/Event;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static final fun getEventDisabled ()Z
public static final fun setEventDisabled (Z)V
}

View File

@ -11,9 +11,9 @@
package net.mamoe.mirai.event
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import me.him188.kotlin.jvm.blocking.bridge.JvmBlockingBridge
import net.mamoe.mirai.Mirai
import net.mamoe.mirai.event.events.BotEvent
import net.mamoe.mirai.event.events.MessageEvent
@ -21,7 +21,6 @@ import net.mamoe.mirai.internal.event.VerboseEvent
import net.mamoe.mirai.internal.event.callAndRemoveIfRequired
import net.mamoe.mirai.internal.network.Packet
import net.mamoe.mirai.utils.*
import net.mamoe.mirai.utils.JavaFriendlyAPI
/**
* 可被监听的类, 可以是任何 class object.
@ -143,7 +142,7 @@ public interface CancellableEvent : Event {
*
* @see __broadcastJava Java 使用
*/
@JvmSynthetic
@JvmBlockingBridge
public suspend fun <E : Event> E.broadcast(): E = _EventBroadcast.implementation.broadcastPublic(this)
/**
@ -206,21 +205,6 @@ internal open class _EventBroadcast {
private val topLevelEventLogger by lazy { MiraiLogger.Factory.create(Event::class, "EventPipeline") }
}
/**
* Java 广播一个事件的唯一途径.
*
* 调用方法: `EventKt.broadcast(event)`
*/
@Suppress("FunctionName")
@JvmName("broadcast")
@JavaFriendlyAPI
public fun <E : Event> E.__broadcastJava(): E = apply {
if (this is BroadcastControllable && !this.shouldBroadcast) {
return@apply
}
runBlocking { this@__broadcastJava.broadcast() }
}
/**
* 设置为 `true` 以关闭事件.
* 所有的 `subscribe` 都能正常添加到监听器列表, 但所有的广播都会直接返回.

View File

@ -10,6 +10,7 @@
package net.mamoe.mirai.event
import kotlinx.coroutines.cancel
import kotlinx.coroutines.runBlocking
import net.mamoe.mirai.utils.EventListenerLikeJava
import net.mamoe.mirai.utils.JavaFriendlyAPI
import org.junit.jupiter.api.Test
@ -24,7 +25,7 @@ internal class JvmMethodEventsTestJava : AbstractEventTest() {
fun test() {
val host = TestHost(called)
GlobalEventChannel.registerListenerHost(host)
TestEvent().__broadcastJava()
runBlocking { TestEvent().broadcast() }
assertEquals(3, called.get(), null)
host.cancel() // reset listeners
}

View File

@ -10,6 +10,7 @@
package net.mamoe.mirai.event
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.runBlocking
import net.mamoe.mirai.utils.EventListenerLikeJava
import net.mamoe.mirai.utils.JavaFriendlyAPI
import org.junit.jupiter.api.Test
@ -34,7 +35,7 @@ internal class SimpleListenerHostTestJava : AbstractEventTest() {
}
val scope = CoroutineScope(EmptyCoroutineContext)
scope.globalEventChannel().registerListenerHost(host)
object : AbstractEvent() {}.__broadcastJava()
runBlocking { object : AbstractEvent() {}.broadcast() }
if (!called.get()) {
throw AssertionError("JavaTest: SimpleListenerHost Failed.")
}