From 70633a631abe142c35dc432134d65b384136d31a Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Fri, 8 Jan 2021 09:50:07 +0800 Subject: [PATCH] [Review] MessageSubscribersBuilder: stabilization. --- .../kotlin/event/MessageSubscribersBuilder.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt b/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt index 24af872e0..d01091edb 100644 --- a/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt +++ b/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt @@ -20,6 +20,7 @@ import net.mamoe.mirai.event.events.* import net.mamoe.mirai.internal.event.* import net.mamoe.mirai.message.data.* import net.mamoe.mirai.message.data.MessageSource.Key.quote +import kotlin.annotation.AnnotationTarget.CONSTRUCTOR /** @@ -39,10 +40,10 @@ public typealias MessageListener<T, R> = @MessageDsl suspend T.(String) -> R * @param R 消息监听器内部的返回值 * @param Ret 每个 DSL 函数创建监听器之后的返回值 * - * @see subscribeFriendMessages + * @see subscribeMessages */ @MessageDsl -public open class MessageSubscribersBuilder<M : MessageEvent, out Ret, R : RR, RR>( +public open class MessageSubscribersBuilder<M : MessageEvent, out Ret, R : RR, RR> internal constructor( /** * 用于 [MessageListener] 无返回值的替代. */ @@ -53,17 +54,17 @@ public open class MessageSubscribersBuilder<M : MessageEvent, out Ret, R : RR, R */ public val subscriber: (M.(String) -> Boolean, MessageListener<M, RR>) -> Ret ) { - @Suppress("DEPRECATION_ERROR") + @RequiresOptIn(level = RequiresOptIn.Level.ERROR) + @Target(CONSTRUCTOR) + private annotation class UseNewListenerFilterInstead + + @OptIn(UseNewListenerFilterInstead::class) public open fun newListeningFilter(filter: M.(String) -> Boolean): ListeningFilter = ListeningFilter(filter) /** * 由 [contains], [startsWith] 等 DSL 创建出的监听条件, 使用 [invoke] 将其注册给事件 */ - public open inner class ListeningFilter @Deprecated( // keep it for development warning - "use newListeningFilter instead", - ReplaceWith("newListeningFilter(filter)"), - level = DeprecationLevel.ERROR - ) constructor( + public inner class ListeningFilter @UseNewListenerFilterInstead internal constructor( public val filter: M.(String) -> Boolean ) { /** 进行逻辑 `or`. */