From 45785adc0928d9f98deb809a0fc32ec9305188e7 Mon Sep 17 00:00:00 2001 From: Him188 Date: Thu, 16 Jul 2020 21:11:34 +0800 Subject: [PATCH] Fix #436 --- .../kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt index 50e66f2bd..3dab7c58b 100644 --- a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt +++ b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/event/JvmMethodListeners.kt @@ -250,15 +250,15 @@ private fun Method.registerEvent( val param = kotlinFunction.parameters when (param.size) { - 3 -> { // ownerClass, receiver, event + 3 -> { // dispatch receiver, extension receiver, param #0 event check(param[1].type == param[2].type) { "Illegal kotlin function ${kotlinFunction.name}. Receiver and param must have same type" } check((param[1].type.classifier as? KClass<*>)?.isSubclassOf(Event::class) == true) { - "Illegal kotlin function ${kotlinFunction.name}. First param or receiver must be subclass of Event, but found ${param[1].type.classifier}" + "Illegal kotlin function ${kotlinFunction.name}. First param or extension receiver must be subclass of Event, but found ${param[1].type.classifier}" } } - 2 -> { // ownerClass, event + 2 -> { // dispatch receiver, param #0 event check((param[1].type.classifier as? KClass<*>)?.isSubclassOf(Event::class) == true) { - "Illegal kotlin function ${kotlinFunction.name}. First param or receiver must be subclass of Event, but found ${param[1].type.classifier}" + "Illegal kotlin function ${kotlinFunction.name}. First param or extension receiver must be subclass of Event, but found ${param[1].type.classifier}" } } else -> error("function ${kotlinFunction.name} must have one Event param") @@ -295,7 +295,7 @@ private fun Method.registerEvent( require(!kotlinFunction.returnType.isMarkedNullable) { "Kotlin event handlers cannot have nullable return type." } - require(kotlinFunction.parameters.any { it.type.isMarkedNullable }) { + require(kotlinFunction.parameters.none { it.type.isMarkedNullable }) { "Kotlin event handlers cannot have nullable parameter type." } when (kotlinFunction.returnType.classifier) {