From 4857c201e11de42d3bb8dc11703c837169650aa3 Mon Sep 17 00:00:00 2001 From: ForteScarlet Date: Sun, 19 Jan 2025 17:43:56 +0800 Subject: [PATCH] If the TargetMarker match is unsuccessful, then continue with the original logic. --- buildSrc/src/main/kotlin/IProject.kt | 2 +- .../plugin/suspendtrans/SuspendTransformUserData.kt | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/buildSrc/src/main/kotlin/IProject.kt b/buildSrc/src/main/kotlin/IProject.kt index 2dd2602..c8441de 100644 --- a/buildSrc/src/main/kotlin/IProject.kt +++ b/buildSrc/src/main/kotlin/IProject.kt @@ -11,7 +11,7 @@ object IProject : ProjectDetail() { // Remember the libs.versions.toml! val ktVersion = "2.1.0" - val pluginVersion = "0.10.0" + val pluginVersion = "0.10.1" override val version: String = "$ktVersion-$pluginVersion" diff --git a/compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/SuspendTransformUserData.kt b/compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/SuspendTransformUserData.kt index d2693f1..dac40c6 100644 --- a/compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/SuspendTransformUserData.kt +++ b/compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/SuspendTransformUserData.kt @@ -277,10 +277,13 @@ private fun FirValueParameter.toValueParameter(session: FirSession, index: Int): fun OriginSymbol.checkSame(markerId: String, declaration: IrFunction): Boolean { if (targetMarker != null) { val anno = declaration.annotations.firstOrNull { it.symbol.owner.parentAsClass.classId == targetMarker } - if (anno == null) return false - - val valueArgument = anno.getValueArgument(Name.identifier("value")) as? IrConst ?: return false - return markerId == valueArgument.value + if (anno != null) { + val valueArgument = anno.getValueArgument(Name.identifier("value")) as? IrConst + if (markerId == valueArgument?.value) { + return true + } + } + // 如果匹配不成功,继续原本的逻辑 } // callableId