Auditing and minimizing the usages of KClass.asClassName() in room-compiler.
Bug: 253855978
Test: Existing tests
Change-Id: I6a96fcf4642496ece97851ccf5ff9f414dce6e52
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt b/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
index 8895edf..0312a38 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
@@ -75,6 +75,16 @@
val RELATION_UTIL = XClassName.get("androidx.room.util", "RelationUtil")
}
+object RoomAnnotationTypeNames {
+ val QUERY = XClassName.get(ROOM_PACKAGE, "Query")
+ val DAO = XClassName.get(ROOM_PACKAGE, "Dao")
+ val DATABASE = XClassName.get(ROOM_PACKAGE, "Database")
+ val PRIMARY_KEY = XClassName.get(ROOM_PACKAGE, "PrimaryKey")
+ val TYPE_CONVERTERS = XClassName.get(ROOM_PACKAGE, "TypeConverters")
+ val TYPE_CONVERTER = XClassName.get(ROOM_PACKAGE, "TypeConverter")
+ val ENTITY = XClassName.get(ROOM_PACKAGE, "Entity")
+}
+
object PagingTypeNames {
val DATA_SOURCE = XClassName.get(PAGING_PACKAGE, "DataSource")
val POSITIONAL_DATA_SOURCE = XClassName.get(PAGING_PACKAGE, "PositionalDataSource")
@@ -116,20 +126,32 @@
object CommonTypeNames {
val VOID = Void::class.asClassName()
val COLLECTION = Collection::class.asClassName()
+ val COLLECTIONS = XClassName.get("java.util", "Collections")
+ val ARRAYS = XClassName.get("java.util", "Arrays")
val LIST = List::class.asClassName()
val MUTABLE_LIST = List::class.asMutableClassName()
val ARRAY_LIST = XClassName.get("java.util", "ArrayList")
val MAP = Map::class.asClassName()
val MUTABLE_MAP = Map::class.asMutableClassName()
val HASH_MAP = XClassName.get("java.util", "HashMap")
+ val QUEUE = XClassName.get("java.util", "Queue")
+ val LINKED_HASH_MAP = LinkedHashMap::class.asClassName()
val SET = Set::class.asClassName()
val MUTABLE_SET = Set::class.asMutableClassName()
val HASH_SET = XClassName.get("java.util", "HashSet")
val STRING = String::class.asClassName()
+ val STRING_BUILDER = XClassName.get("java.lang", "StringBuilder")
val OPTIONAL = XClassName.get("java.util", "Optional")
val UUID = XClassName.get("java.util", "UUID")
val BYTE_BUFFER = XClassName.get("java.nio", "ByteBuffer")
val JAVA_CLASS = XClassName.get("java.lang", "Class")
+ val CALLABLE = Callable::class.asClassName()
+ val DATE = XClassName.get("java.util", "Date")
+}
+
+object ExceptionTypeNames {
+ val ILLEGAL_STATE_EXCEPTION = IllegalStateException::class.asClassName()
+ val ILLEGAL_ARG_EXCEPTION = IllegalArgumentException::class.asClassName()
}
object GuavaTypeNames {
@@ -305,7 +327,7 @@
parameterTypeName: XTypeName,
callBody: XFunSpec.Builder.() -> Unit
) = XTypeSpec.anonymousClassBuilder(language, "").apply {
- addSuperinterface(Callable::class.asClassName().parametrizedBy(parameterTypeName))
+ addSuperinterface(CommonTypeNames.CALLABLE.parametrizedBy(parameterTypeName))
addFunction(
XFunSpec.builder(
language = language,
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/MapQueryResultAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/MapQueryResultAdapter.kt
index fd8d8f1..821523c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/MapQueryResultAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/MapQueryResultAdapter.kt
@@ -18,7 +18,6 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XCodeBlock
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XNullability
import androidx.room.compiler.processing.XType
import androidx.room.ext.CommonTypeNames
@@ -71,7 +70,7 @@
private val implMapTypeName = when (mapType) {
MapType.DEFAULT ->
// LinkedHashMap is used as impl to preserve key ordering for ordered query results.
- LinkedHashMap::class.asClassName().parametrizedBy(
+ CommonTypeNames.LINKED_HASH_MAP.parametrizedBy(
keyTypeArg.asTypeName(), valueTypeName
)
MapType.ARRAY_MAP ->
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/EnumColumnTypeAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/EnumColumnTypeAdapter.kt
index 3da739d..7255e20 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/EnumColumnTypeAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/EnumColumnTypeAdapter.kt
@@ -19,11 +19,11 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XCodeBlock
import androidx.room.compiler.codegen.XFunSpec
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XEnumTypeElement
import androidx.room.compiler.processing.XNullability
import androidx.room.compiler.processing.XType
import androidx.room.ext.CommonTypeNames
+import androidx.room.ext.ExceptionTypeNames
import androidx.room.parser.SQLTypeAffinity.TEXT
import androidx.room.solver.CodeGenScope
import androidx.room.writer.TypeWriter
@@ -119,7 +119,7 @@
}
addStatement(
"default: throw new %T(%S + %L)",
- ILLEGAL_ARG_EXCEPTION,
+ ExceptionTypeNames.ILLEGAL_ARG_EXCEPTION,
ENUM_TO_STRING_ERROR_MSG,
paramName
)
@@ -184,7 +184,7 @@
}
addStatement(
"default: throw new %T(%S + %L)",
- ILLEGAL_ARG_EXCEPTION,
+ ExceptionTypeNames.ILLEGAL_ARG_EXCEPTION,
STRING_TO_ENUM_ERROR_MSG,
paramName
)
@@ -203,7 +203,7 @@
}
addStatement(
"else -> throw %T(%S + %L)",
- ILLEGAL_ARG_EXCEPTION,
+ ExceptionTypeNames.ILLEGAL_ARG_EXCEPTION,
STRING_TO_ENUM_ERROR_MSG,
paramName
)
@@ -225,7 +225,6 @@
}
companion object {
- private val ILLEGAL_ARG_EXCEPTION = IllegalArgumentException::class.asClassName()
private const val ENUM_TO_STRING_ERROR_MSG =
"Can't convert enum to string, unknown enum value: "
private const val STRING_TO_ENUM_ERROR_MSG =
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
index 815fe8d..4bf5397 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
@@ -18,9 +18,9 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XCodeBlock
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XNullability
import androidx.room.compiler.processing.XType
+import androidx.room.ext.ExceptionTypeNames
import androidx.room.solver.CodeGenScope
/**
@@ -100,7 +100,7 @@
"throw %L",
XCodeBlock.ofNewInstance(
language,
- ILLEGAL_STATE_EXCEPTION,
+ ExceptionTypeNames.ILLEGAL_STATE_EXCEPTION,
"%S",
message
)
@@ -111,8 +111,4 @@
}
}
}
-
- companion object {
- private val ILLEGAL_STATE_EXCEPTION = IllegalStateException::class.asClassName()
- }
}
\ No newline at end of file
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
index 3f89a53..a8d7731 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
@@ -27,7 +27,6 @@
import androidx.room.compiler.codegen.XTypeName
import androidx.room.compiler.codegen.XTypeSpec
import androidx.room.compiler.codegen.XTypeSpec.Builder.Companion.addOriginatingElement
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XElement
import androidx.room.compiler.processing.XMethodElement
import androidx.room.compiler.processing.XType
@@ -59,8 +58,6 @@
import androidx.room.vo.UpdateMethod
import androidx.room.vo.UpsertionMethod
import androidx.room.vo.WriteQueryMethod
-import java.util.Arrays
-import java.util.Collections
import java.util.Locale
/**
@@ -198,7 +195,7 @@
if (requiredTypeConverters.isEmpty()) {
when (language) {
CodeLanguage.JAVA ->
- addStatement("return %T.emptyList()", Collections::class.asClassName())
+ addStatement("return %T.emptyList()", CommonTypeNames.COLLECTIONS)
CodeLanguage.KOTLIN ->
addStatement("return emptyList()")
}
@@ -210,7 +207,7 @@
when (language) {
CodeLanguage.JAVA ->
addStatement("return %T.asList($placeholders)",
- Arrays::class.asClassName(),
+ CommonTypeNames.ARRAYS,
*requiredTypeConvertersLiterals
)
CodeLanguage.KOTLIN ->
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/QueryWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/QueryWriter.kt
index c170531..bfc0817 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/QueryWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/QueryWriter.kt
@@ -20,7 +20,6 @@
import androidx.room.compiler.codegen.XCodeBlock.Builder.Companion.addLocalVal
import androidx.room.compiler.codegen.XMemberName.Companion.packageMember
import androidx.room.compiler.codegen.XTypeName
-import androidx.room.compiler.codegen.asClassName
import androidx.room.ext.CommonTypeNames
import androidx.room.ext.RoomMemberNames
import androidx.room.ext.RoomTypeNames
@@ -77,7 +76,7 @@
val stringBuilderVar = scope.getTmpVar("_stringBuilder")
addLocalVal(
stringBuilderVar,
- StringBuilder::class.asClassName(),
+ CommonTypeNames.STRING_BUILDER,
"%M()",
RoomTypeNames.STRING_UTIL.packageMember("newStringBuilder")
)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
index c7c18fd..8ca0c7a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/TableInfoValidationWriter.kt
@@ -19,7 +19,6 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XCodeBlock
import androidx.room.compiler.codegen.XCodeBlock.Builder.Companion.addLocalVal
-import androidx.room.compiler.codegen.asClassName
import androidx.room.ext.CommonTypeNames
import androidx.room.ext.RoomMemberNames
import androidx.room.ext.RoomTypeNames
@@ -28,14 +27,12 @@
import androidx.room.parser.SQLTypeAffinity
import androidx.room.vo.Entity
import androidx.room.vo.columnNames
-import java.util.Arrays
import java.util.Locale
class TableInfoValidationWriter(val entity: Entity) : ValidationWriter() {
companion object {
const val CREATED_FROM_ENTITY = "CREATED_FROM_ENTITY"
- val ARRAY_TYPE_NAME = Arrays::class.asClassName()
}
override fun write(dbParamName: String, scope: CountingCodeGenScope) {
@@ -180,7 +177,7 @@
private fun CodeBlockWrapper.listOfStrings(strings: List<String>): XCodeBlock {
val placeholders = List(strings.size) { "%S" }.joinToString()
val function: Any = when (language) {
- CodeLanguage.JAVA -> XCodeBlock.of(language, "%T.asList", ARRAY_TYPE_NAME)
+ CodeLanguage.JAVA -> XCodeBlock.of(language, "%T.asList", CommonTypeNames.ARRAYS)
CodeLanguage.KOTLIN -> "listOf"
}
return XCodeBlock.of(
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/CustomConverterProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/CustomConverterProcessorTest.kt
index 4b9437c..a4da24b 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/CustomConverterProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/CustomConverterProcessorTest.kt
@@ -16,7 +16,6 @@
package androidx.room.processor
-import androidx.room.TypeConverter
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.VisibilityModifier
import androidx.room.compiler.codegen.XAnnotationSpec
@@ -26,13 +25,13 @@
import androidx.room.compiler.codegen.XTypeName
import androidx.room.compiler.codegen.XTypeSpec
import androidx.room.compiler.codegen.XTypeSpec.Builder.Companion.apply
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.XTestInvocation
import androidx.room.compiler.processing.util.runProcessorTest
import androidx.room.ext.CommonTypeNames
import androidx.room.ext.CommonTypeNames.MUTABLE_LIST
import androidx.room.ext.CommonTypeNames.STRING
+import androidx.room.ext.RoomAnnotationTypeNames
import androidx.room.processor.ProcessorErrors.TYPE_CONVERTER_EMPTY_CLASS
import androidx.room.processor.ProcessorErrors.TYPE_CONVERTER_MISSING_NOARG_CONSTRUCTOR
import androidx.room.processor.ProcessorErrors.TYPE_CONVERTER_MUST_BE_PUBLIC
@@ -41,7 +40,6 @@
import androidx.room.vo.CustomTypeConverter
import com.google.common.truth.Truth.assertThat
import com.squareup.javapoet.TypeVariableName
-import java.util.Date
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
@@ -117,7 +115,7 @@
@Test
fun nonNullButNotBoxed() {
- val date = Date::class.asClassName()
+ val date = CommonTypeNames.DATE
singleClass(createConverter(STRING, date)) { converter, _ ->
assertThat(converter?.fromTypeName).isEqualTo(STRING)
assertThat(converter?.toTypeName).isEqualTo(date)
@@ -143,7 +141,7 @@
@Test
fun parametrizedTypeSpecific() {
- val date = Date::class.asClassName()
+ val date = CommonTypeNames.DATE
val list = CommonTypeNames.MUTABLE_LIST.parametrizedBy(STRING)
val map = CommonTypeNames.MUTABLE_MAP.parametrizedBy(STRING, date)
singleClass(createConverter(list, map)) { converter, _ ->
@@ -387,7 +385,7 @@
addAnnotation(
XAnnotationSpec.builder(
CodeLanguage.JAVA,
- TypeConverter::class.asClassName()
+ RoomAnnotationTypeNames.TYPE_CONVERTER
).build()
)
returns(to)
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertOrUpsertShortcutMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertOrUpsertShortcutMethodProcessorTest.kt
index de17c33..8670e80 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertOrUpsertShortcutMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertOrUpsertShortcutMethodProcessorTest.kt
@@ -21,7 +21,6 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XClassName
import androidx.room.compiler.codegen.XTypeName
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.codegen.asMutableClassName
import androidx.room.compiler.processing.XMethodElement
import androidx.room.compiler.processing.XType
@@ -270,7 +269,7 @@
val param = insertionUpsertion.parameters.first()
assertThat(param.type.asTypeName())
.isEqualTo(
- java.util.Queue::class.asClassName().parametrizedBy(USER_TYPE_NAME)
+ CommonTypeNames.QUEUE.parametrizedBy(USER_TYPE_NAME)
)
assertThat(insertionUpsertion.entities.size).isEqualTo(1)
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
index 768c1a1..51f7c99 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
@@ -22,7 +22,6 @@
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.XClassName
import androidx.room.compiler.codegen.XTypeName
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XType
import androidx.room.compiler.processing.XTypeElement
import androidx.room.compiler.processing.util.Source
@@ -1539,7 +1538,7 @@
) { _, invocation ->
invocation.assertCompilationResult {
hasErrorContaining(
- valueMayNeedMapInfo(String::class.asClassName().canonicalName)
+ valueMayNeedMapInfo(CommonTypeNames.STRING.canonicalName)
)
}
}
@@ -1556,7 +1555,7 @@
) { _, invocation ->
invocation.assertCompilationResult {
hasErrorContaining(
- valueMayNeedMapInfo(String::class.asClassName().canonicalName)
+ valueMayNeedMapInfo(CommonTypeNames.STRING.canonicalName)
)
}
}
@@ -1572,7 +1571,7 @@
) { _, invocation ->
invocation.assertCompilationResult {
hasErrorContaining(
- valueMayNeedMapInfo(String::class.asClassName().canonicalName)
+ valueMayNeedMapInfo(CommonTypeNames.STRING.canonicalName)
)
}
}
@@ -1588,7 +1587,7 @@
) { _, invocation ->
invocation.assertCompilationResult {
hasErrorContaining(
- valueMayNeedMapInfo(String::class.asClassName().canonicalName)
+ valueMayNeedMapInfo(CommonTypeNames.STRING.canonicalName)
)
}
}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
index d6d58c9..b8d94b3 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
@@ -21,11 +21,11 @@
import androidx.room.RawQuery
import androidx.room.compiler.codegen.XClassName
import androidx.room.compiler.codegen.XTypeName
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XTypeElement
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.XTestInvocation
import androidx.room.compiler.processing.util.runProcessorTest
+import androidx.room.ext.CommonTypeNames
import androidx.room.ext.GuavaUtilConcurrentTypeNames
import androidx.room.ext.KotlinTypeNames
import androidx.room.ext.LifecyclesTypeNames
@@ -424,7 +424,7 @@
invocation.assertCompilationResult {
hasErrorContaining(
ProcessorErrors.valueMayNeedMapInfo(
- String::class.asClassName().canonicalName
+ CommonTypeNames.STRING.canonicalName
)
)
}
@@ -442,7 +442,7 @@
invocation.assertCompilationResult {
hasErrorContaining(
ProcessorErrors.valueMayNeedMapInfo(
- String::class.asClassName().canonicalName
+ CommonTypeNames.STRING.canonicalName
)
)
}
@@ -460,7 +460,7 @@
invocation.assertCompilationResult {
hasErrorContaining(
ProcessorErrors.valueMayNeedMapInfo(
- String::class.asClassName().canonicalName
+ CommonTypeNames.STRING.canonicalName
)
)
}
@@ -561,7 +561,7 @@
invocation.assertCompilationResult {
hasErrorContaining(
ProcessorErrors.valueMayNeedMapInfo(
- String::class.asClassName().canonicalName
+ CommonTypeNames.STRING.canonicalName
)
)
}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/BasicColumnTypeAdaptersTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/BasicColumnTypeAdaptersTest.kt
index e582e54..d36dbcc 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/BasicColumnTypeAdaptersTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/BasicColumnTypeAdaptersTest.kt
@@ -23,12 +23,12 @@
import androidx.room.compiler.codegen.XPropertySpec
import androidx.room.compiler.codegen.XTypeName
import androidx.room.compiler.codegen.XTypeSpec
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XType
import androidx.room.compiler.processing.util.XTestInvocation
import androidx.room.compiler.processing.util.runProcessorTest
import androidx.room.compiler.processing.writeTo
import androidx.room.ext.AndroidTypeNames
+import androidx.room.ext.CommonTypeNames
import androidx.room.processor.Context
import androidx.room.vo.BuiltInConverterFlags
import org.hamcrest.CoreMatchers.`is`
@@ -86,7 +86,7 @@
"out = crs.getDouble(9);"
),
arrayOf(
- String::class.asClassName(),
+ CommonTypeNames.STRING,
"st.bindString(6, inp);",
"out = crs.getString(9);"
),
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/CustomTypeConverterResolutionTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/CustomTypeConverterResolutionTest.kt
index 5033e65..f4ade0b 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/CustomTypeConverterResolutionTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/CustomTypeConverterResolutionTest.kt
@@ -18,14 +18,8 @@
package androidx.room.solver
-import androidx.room.Dao
-import androidx.room.Database
import androidx.room.DatabaseProcessingStep
-import androidx.room.Entity
-import androidx.room.PrimaryKey
-import androidx.room.Query
import androidx.room.TypeConverter
-import androidx.room.TypeConverters
import androidx.room.compiler.codegen.CodeLanguage
import androidx.room.compiler.codegen.VisibilityModifier
import androidx.room.compiler.codegen.XAnnotationSpec
@@ -35,11 +29,11 @@
import androidx.room.compiler.codegen.XPropertySpec
import androidx.room.compiler.codegen.XTypeName
import androidx.room.compiler.codegen.XTypeSpec
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.util.CompilationResultSubject
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.runProcessorTest
import androidx.room.ext.CommonTypeNames
+import androidx.room.ext.RoomAnnotationTypeNames
import androidx.room.ext.RoomTypeNames.ROOM_DB
import androidx.room.processor.ProcessorErrors.CANNOT_BIND_QUERY_PARAMETER_INTO_STMT
import org.junit.Test
@@ -288,7 +282,7 @@
}
return XTypeSpec.classBuilder(CodeLanguage.JAVA, ENTITY).apply {
addAnnotation(
- XAnnotationSpec.builder(CodeLanguage.JAVA, Entity::class.asClassName()).build()
+ XAnnotationSpec.builder(CodeLanguage.JAVA, RoomAnnotationTypeNames.ENTITY).build()
)
setVisibility(VisibilityModifier.PUBLIC)
if (hasCustomField) {
@@ -319,7 +313,7 @@
).addAnnotation(
XAnnotationSpec.builder(
CodeLanguage.JAVA,
- PrimaryKey::class.asClassName()
+ RoomAnnotationTypeNames.PRIMARY_KEY
).build()
).build()
)
@@ -348,7 +342,7 @@
).addAnnotation(
XAnnotationSpec.builder(
CodeLanguage.JAVA,
- PrimaryKey::class.asClassName()
+ RoomAnnotationTypeNames.PRIMARY_KEY
).build()
).build()
)
@@ -367,7 +361,7 @@
addAnnotation(
XAnnotationSpec.builder(
CodeLanguage.JAVA,
- Database::class.asClassName()
+ RoomAnnotationTypeNames.DATABASE
).apply {
addMember(
"entities",
@@ -420,7 +414,7 @@
addAbstractModifier()
addAnnotation(XAnnotationSpec.builder(
CodeLanguage.JAVA,
- Dao::class.asClassName()
+ RoomAnnotationTypeNames.DAO
).build())
setVisibility(VisibilityModifier.PUBLIC)
if (hasConverters) {
@@ -436,7 +430,7 @@
addAbstractModifier()
addAnnotation(XAnnotationSpec.builder(
CodeLanguage.JAVA,
- Query::class.asClassName()
+ RoomAnnotationTypeNames.QUERY
).addMember(
"value",
XCodeBlock.of(
@@ -464,7 +458,7 @@
addAbstractModifier()
addAnnotation(XAnnotationSpec.builder(
CodeLanguage.JAVA,
- Query::class.asClassName()
+ RoomAnnotationTypeNames.QUERY
).addMember(
"value",
XCodeBlock.of(
@@ -500,7 +494,7 @@
} else {
CUSTOM_TYPE_CONVERTER
}
- return XAnnotationSpec.builder(CodeLanguage.JAVA, TypeConverters::class.asClassName())
+ return XAnnotationSpec.builder(CodeLanguage.JAVA, RoomAnnotationTypeNames.TYPE_CONVERTERS)
.addMember("value", XCodeBlock.of(CodeLanguage.JAVA, "%T.class", converter)).build()
}
}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt
index 84d9666..558e6c0 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt
@@ -22,7 +22,6 @@
import androidx.room.Dao
import androidx.room.compiler.codegen.XCodeBlock
import androidx.room.compiler.codegen.XTypeName
-import androidx.room.compiler.codegen.asClassName
import androidx.room.compiler.processing.XProcessingEnv
import androidx.room.compiler.processing.XRawType
import androidx.room.compiler.processing.isTypeElement
@@ -248,7 +247,7 @@
)
val uuid = invocation
.processingEnv
- .requireType(UUID::class.asClassName())
+ .requireType(CommonTypeNames.UUID)
val adapter = store.findColumnTypeAdapter(
out = uuid,
affinity = null,