-
Notifications
You must be signed in to change notification settings - Fork 6
Description
当我设定2个以上 primaryKeys 就会遇到 KSErrorType cannot be cast to class com.google.devtools.ksp.symbol.KSAnnotation 的错误
version : id("cn.dailystudio.devbricksx.devkit") version "1.9.2-1.1.1"
Code:
@RoomCompanion(
database = "UserDB",
databaseVersion = 1,
migrations = [],
autoGenerate = true,
primaryKeys = ["type", "id"]
)
data class User(
@JvmField var type: Int,
@JvmField var id: String,
)
错误信息:
[ksp] java.lang.ClassCastException: class com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType cannot be cast to class com.google.devtools.ksp.symbol.KSAnnotation (com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType and com.google.devtools.ksp.symbol.KSAnnotation are in unnamed module of loader java.net.URLClassLoader @7bc81a71)
at androidx.room.compiler.processing.ksp.KspAnnotationBox.getAsAnnotationBoxArray(KspAnnotationBox.kt:106)
at androidx.room.processor.EntityProcessor$Companion.extractIndices(EntityProcessor.kt:45)
at androidx.room.processor.TableEntityProcessor.doProcess(TableEntityProcessor.kt:69)
at androidx.room.processor.TableEntityProcessor.access$doProcess(TableEntityProcessor.kt:44)
at androidx.room.processor.TableEntityProcessor$process$1.invoke(TableEntityProcessor.kt:53)
at androidx.room.processor.TableEntityProcessor$process$1.invoke(TableEntityProcessor.kt:52)
at androidx.room.processor.cache.Cache$Bucket.get(Cache.kt:53)
at androidx.room.processor.TableEntityProcessor.process(TableEntityProcessor.kt:52)
at androidx.room.processor.DatabaseProcessor.processEntities(DatabaseProcessor.kt:468)
at androidx.room.processor.DatabaseProcessor.doProcess(DatabaseProcessor.kt:69)
at androidx.room.processor.DatabaseProcessor.process(DatabaseProcessor.kt:60)
at androidx.room.DatabaseProcessingStep$process$databases$1$1.invoke(DatabaseProcessingStep.kt:68)
at androidx.room.DatabaseProcessingStep$process$databases$1$1.invoke(DatabaseProcessingStep.kt:64)
at androidx.room.processor.Context.collectLogs(Context.kt:192)
at androidx.room.DatabaseProcessingStep.process(DatabaseProcessingStep.kt:64)
at androidx.room.compiler.processing.CommonProcessorDelegate.processRound(XBasicAnnotationProcessor.kt:130)
at androidx.room.compiler.processing.ksp.KspBasicAnnotationProcessor.process(KspBasicAnnotationProcessor.kt:62)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:310)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:308)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:308)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:77)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:247)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:181)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:43)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1523)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)