Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
A couple of questions:
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
Description
Version used: 2.1.0-alpha04
When using a Dao such as:
@Dao
abstract class ItemDao {
@Query("DELETE FROM item")
internal abstract suspend fun deleteAllInternal()
}
I get an IllegalArgumentException from within Room's compiler:
e: [kapt] An exception occurred: java.lang.IllegalArgumentException: index 1 for '$a' not in range (received 0 arguments)
at com.squareup.javapoet.Util.checkArgument(Util.java:64)
at com.squareup.javapoet.CodeBlock$Builder.add(CodeBlock.java:232)
at com.squareup.javapoet.MethodSpec$Builder.addCode(MethodSpec.java:405)
at androidx.room.solver.prepared.binder.CallablePreparedQueryResultBinder$executeAndReturn$callableImpl$1.invoke(CallablePreparedQueryResultBinder.kt:62)
at androidx.room.solver.prepared.binder.CallablePreparedQueryResultBinder$executeAndReturn$callableImpl$1.invoke(CallablePreparedQueryResultBinder.kt:35)
at androidx.room.ext.Javapoet_extKt.CallableTypeSpecBuilder(javapoet_ext.kt:185)
at androidx.room.solver.prepared.binder.CallablePreparedQueryResultBinder.executeAndReturn(CallablePreparedQueryResultBinder.kt:56)
at androidx.room.writer.DaoWriter.createPreparedQueryMethodBody(DaoWriter.kt:155)
at androidx.room.writer.DaoWriter.createPreparedQueries(DaoWriter.kt:134)
at androidx.room.writer.DaoWriter.createTypeSpecBuilder(DaoWriter.kt:92)
at androidx.room.writer.ClassWriter.write(ClassWriter.kt:44)
at androidx.room.RoomProcessor$DatabaseProcessingStep.process(RoomProcessor.kt:77)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:330)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:181)
at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:106)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
...
Removing either internal or suspend fixes the issue.