Skip to content

Commit f25fc9e

Browse files
committed
fix(core): 修复 TelegramMessageEntity$Simple 的多态序列化注册错误
see #14
1 parent 01f7283 commit f25fc9e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

internal-processors/include-component-message-elements-processor/src/main/kotlin/telegram/internal/processors/includemessageelements/IncludeMessageElementsProcessor.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
2525
import com.google.devtools.ksp.processing.SymbolProcessorProvider
2626
import com.google.devtools.ksp.symbol.KSAnnotated
2727
import com.google.devtools.ksp.symbol.KSClassDeclaration
28+
import com.google.devtools.ksp.symbol.Modifier
2829
import com.squareup.kotlinpoet.*
2930
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
3031
import com.squareup.kotlinpoet.ksp.toClassName
@@ -81,6 +82,8 @@ private class IncludeMessageElementsProcessor(val environment: SymbolProcessorEn
8182
.filterIsInstance<KSClassDeclaration>()
8283
// 是一个可序列化的具体的类
8384
.filter { !it.isAbstract() }
85+
// isAbstract 无法判断 sealed
86+
.filter { Modifier.SEALED !in it.modifiers }
8487
// 是 BaseMessageElement 的子类
8588
.filter { baseDeclarationType.isAssignableFrom(it.asStarProjectedType()) }
8689
.onEach {

0 commit comments

Comments
 (0)