update ksp to the new package

This CL updates KSP to latest version.
It is rather large CL due to package name change in KSP.

Unfortunately, the new version has a regression where
override check does not check for type inheritance.
I implemented a workaround for it in Room for now.
https://github.com/google/ksp/issues/123

Another notable change is that KSTypeReference's type
is not null anymore so I updated the code for it and removed
requireType.

As the CL is already confusing, didn't go through closed
issues to remove their workarounds yet, will do followup
CLs for them.

Bug: 160322705
Test: existing tests
Change-Id: Ie4902a4d23bb3448d81273a508775cbd8c3b0bd4
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt b/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
index 7d8fc45..d0a3f3b 100644
--- a/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
@@ -72,11 +72,11 @@
 const val KOTLINPOET_METADATA_SPECS = "com.squareup:kotlinpoet-metadata-specs:1.4.0"
 const val KOTLINPOET_CLASSINSPECTOR_ELEMENTS =
     "com.squareup:kotlinpoet-classinspector-elements:1.4.0"
-const val KOTLIN_COMPILE_TESTING = "com.github.tschuchortdev:kotlin-compile-testing:1.2.10"
-const val KOTLIN_COMPILE_TESTING_KSP = "com.github.tschuchortdev:kotlin-compile-testing-ksp:1.2.10"
-const val KSP_VERSION = "1.4.0-dev-experimental-20200914"
-const val KOTLIN_KSP_API = "org.jetbrains.kotlin:kotlin-symbol-processing-api:$KSP_VERSION"
-const val KOTLIN_KSP = "org.jetbrains.kotlin:kotlin-ksp:$KSP_VERSION"
+const val KOTLIN_COMPILE_TESTING = "com.github.tschuchortdev:kotlin-compile-testing:1.3.1"
+const val KOTLIN_COMPILE_TESTING_KSP = "com.github.tschuchortdev:kotlin-compile-testing-ksp:1.3.1"
+const val KSP_VERSION = "1.4.10-dev-experimental-20201009"
+const val KOTLIN_KSP_API = "com.google.devtools.ksp:symbol-processing-api:$KSP_VERSION"
+const val KOTLIN_KSP = "com.google.devtools.ksp:symbol-processing:$KSP_VERSION"
 const val KOTLIN_GRADLE_PLUGIN = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0-rc"
 
 const val KOTLIN_METADATA = "me.eugeniomarletti.kotlin.metadata:kotlin-metadata:1.4.0"
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAnnotatedExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAnnotatedExt.kt
index 85ecf9d..1c6e4e4 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAnnotatedExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAnnotatedExt.kt
@@ -16,12 +16,12 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotated
+import com.google.devtools.ksp.symbol.KSAnnotated
 
 internal fun KSAnnotated.isJvmStatic() = annotations.any {
-    it.annotationType.resolve()?.declaration?.qualifiedName?.asString() == "kotlin.jvm.JvmStatic"
+    it.annotationType.resolve().declaration.qualifiedName?.asString() == "kotlin.jvm.JvmStatic"
 }
 
 internal fun KSAnnotated.isJvmDefault() = annotations.any {
-    it.annotationType.resolve()?.declaration?.qualifiedName?.asString() == "kotlin.jvm.JvmDefault"
+    it.annotationType.resolve().declaration.qualifiedName?.asString() == "kotlin.jvm.JvmDefault"
 }
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAsMemberOf.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAsMemberOf.kt
index 92a8279..be59f1a 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAsMemberOf.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSAsMemberOf.kt
@@ -16,19 +16,19 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.closestClassDeclaration
-import org.jetbrains.kotlin.ksp.getAllSuperTypes
-import org.jetbrains.kotlin.ksp.processing.Resolver
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSName
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSType
-import org.jetbrains.kotlin.ksp.symbol.KSTypeArgument
-import org.jetbrains.kotlin.ksp.symbol.KSTypeParameter
-import org.jetbrains.kotlin.ksp.symbol.KSVariableParameter
-import org.jetbrains.kotlin.ksp.symbol.Nullability
+import com.google.devtools.ksp.closestClassDeclaration
+import com.google.devtools.ksp.getAllSuperTypes
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.KSName
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSTypeArgument
+import com.google.devtools.ksp.symbol.KSTypeParameter
+import com.google.devtools.ksp.symbol.KSValueParameter
+import com.google.devtools.ksp.symbol.Nullability
 
 /**
  * Returns the type of a property as if it is member of the given [ksType].
@@ -38,18 +38,18 @@
  * TODO: remove once https://github.com/android/kotlin/issues/26 is implemented
  */
 internal fun KSPropertyDeclaration.typeAsMemberOf(resolver: Resolver, ksType: KSType): KSType {
-    val myType: KSType = checkNotNull(type?.requireType()) {
+    val myType: KSType = checkNotNull(type.resolve()) {
         "Cannot find type of Kotlin property: $this"
     }
     return myType.asMemberOf(resolver, this, ksType)
 }
 
-internal fun KSVariableParameter.typeAsMemberOf(
+internal fun KSValueParameter.typeAsMemberOf(
     resolver: Resolver,
     functionDeclaration: KSFunctionDeclaration,
     ksType: KSType
 ): KSType {
-    val myType: KSType = checkNotNull(type?.requireType()) {
+    val myType: KSType = checkNotNull(type?.resolve()) {
         "Cannot find type of method parameter: $this"
     }
     return myType.asMemberOf(resolver, functionDeclaration, ksType)
@@ -59,7 +59,7 @@
     resolver: Resolver,
     ksType: KSType
 ): KSType {
-    val myType: KSType = checkNotNull(returnType?.requireType()) {
+    val myType: KSType = checkNotNull(returnType?.resolve()) {
         "Cannot resolve return type of $this"
     }
     return myType.asMemberOf(resolver, this, ksType)
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSClassDeclarationExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSClassDeclarationExt.kt
index c9b4b72..49bf99a 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSClassDeclarationExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSClassDeclarationExt.kt
@@ -16,7 +16,7 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSClassDeclaration
 
 internal fun KSClassDeclaration.findCompanionObject(): KSClassDeclaration? {
     return declarations.firstOrNull {
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSDeclarationExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSDeclarationExt.kt
index 77c3509..60beee8 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSDeclarationExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSDeclarationExt.kt
@@ -16,8 +16,8 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSDeclaration
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSDeclaration
 
 /**
  * Finds the class that contains this declaration and throws [IllegalStateException] if it cannot
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
index 2af4314..fe0ba08 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
@@ -21,12 +21,12 @@
 import com.squareup.javapoet.TypeName
 import com.squareup.javapoet.TypeVariableName
 import com.squareup.javapoet.WildcardTypeName
-import org.jetbrains.kotlin.ksp.symbol.KSDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSType
-import org.jetbrains.kotlin.ksp.symbol.KSTypeArgument
-import org.jetbrains.kotlin.ksp.symbol.KSTypeParameter
-import org.jetbrains.kotlin.ksp.symbol.KSTypeReference
-import org.jetbrains.kotlin.ksp.symbol.Variance
+import com.google.devtools.ksp.symbol.KSDeclaration
+import com.google.devtools.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSTypeArgument
+import com.google.devtools.ksp.symbol.KSTypeParameter
+import com.google.devtools.ksp.symbol.KSTypeReference
+import com.google.devtools.ksp.symbol.Variance
 
 internal const val ERROR_PACKAGE_NAME = "androidx.room.compiler.processing.kotlin.error"
 
@@ -44,13 +44,7 @@
     return if (this == null) {
         ERROR_TYPE_NAME
     } else {
-        val resolvedType = try {
-            requireType()
-        } catch (illegalState: IllegalStateException) {
-            // workaround for https://github.com/google/ksp/issues/101
-            null
-        }
-        resolvedType?.typeName() ?: ERROR_TYPE_NAME
+        resolve().typeName()
     }
 }
 
@@ -120,21 +114,8 @@
     }
 }
 
-/**
- * see: https://github.com/google/ksp/issues/101
- * Wildcard resolution might throw. We are not catching it here as we don't have a good fallback,
- * instead, catching it in the caller when we have an option to handle. And callers which do not
- * have a way to handle will just crash for now until the issue is resolved.
- */
-@Throws(IllegalStateException::class)
-internal fun KSTypeReference.requireType(): KSType {
-    return checkNotNull(resolve()) {
-        "Resolve in type reference should not have returned null, please file a bug. $this"
-    }
-}
-
 internal fun KSTypeArgument.requireType(): KSType {
-    return checkNotNull(type?.requireType()) {
+    return checkNotNull(type?.resolve()) {
         "KSTypeArgument.type should not have been null, please file a bug. $this"
     }
 }
\ No newline at end of file
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
index 7c0612b..367ad09 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
@@ -16,15 +16,15 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotation
-import org.jetbrains.kotlin.ksp.symbol.KSReferenceElement
-import org.jetbrains.kotlin.ksp.symbol.KSType
-import org.jetbrains.kotlin.ksp.symbol.KSTypeReference
-import org.jetbrains.kotlin.ksp.symbol.KSVisitor
-import org.jetbrains.kotlin.ksp.symbol.Location
-import org.jetbrains.kotlin.ksp.symbol.Modifier
-import org.jetbrains.kotlin.ksp.symbol.NonExistLocation
-import org.jetbrains.kotlin.ksp.symbol.Origin
+import com.google.devtools.ksp.symbol.KSAnnotation
+import com.google.devtools.ksp.symbol.KSReferenceElement
+import com.google.devtools.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSTypeReference
+import com.google.devtools.ksp.symbol.KSVisitor
+import com.google.devtools.ksp.symbol.Location
+import com.google.devtools.ksp.symbol.Modifier
+import com.google.devtools.ksp.symbol.NonExistLocation
+import com.google.devtools.ksp.symbol.Origin
 
 /**
  * Creates a new TypeReference from [this] where the resolved type [replacement] but everything
@@ -48,7 +48,7 @@
     val original: KSTypeReference,
     val resolved: KSType
 ) : KSTypeReference by original {
-    override fun resolve(): KSType? = resolved
+    override fun resolve() = resolved
 }
 
 private class NoLocationTypeReference(
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
index 36bb0de..fc9dbae 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
@@ -18,9 +18,9 @@
 
 import androidx.room.compiler.processing.XAnnotated
 import androidx.room.compiler.processing.XAnnotationBox
-import org.jetbrains.kotlin.ksp.symbol.AnnotationUseSiteTarget
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotated
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotation
+import com.google.devtools.ksp.symbol.AnnotationUseSiteTarget
+import com.google.devtools.ksp.symbol.KSAnnotated
+import com.google.devtools.ksp.symbol.KSAnnotation
 import kotlin.reflect.KClass
 
 internal sealed class KspAnnotated(
@@ -30,7 +30,7 @@
 
     override fun <T : Annotation> toAnnotationBox(annotation: KClass<T>): XAnnotationBox<T>? {
         return annotations().firstOrNull {
-            val qName = it.annotationType.resolve()?.declaration?.qualifiedName?.asString()
+            val qName = it.annotationType.resolve().declaration.qualifiedName?.asString()
             qName == annotation.qualifiedName
         }?.let {
             KspAnnotationBox(
@@ -43,13 +43,13 @@
 
     override fun hasAnnotationWithPackage(pkg: String): Boolean {
         return annotations().any {
-            it.annotationType.resolve()?.declaration?.qualifiedName?.getQualifier() == pkg
+            it.annotationType.resolve().declaration.qualifiedName?.getQualifier() == pkg
         }
     }
 
     override fun hasAnnotation(annotation: KClass<out Annotation>): Boolean {
         return annotations().any {
-            val qName = it.annotationType.resolve()?.declaration?.qualifiedName?.asString()
+            val qName = it.annotationType.resolve().declaration.qualifiedName?.asString()
             qName == annotation.qualifiedName
         }
     }
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
index 9465cf3..6df5430 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
@@ -18,8 +18,8 @@
 
 import androidx.room.compiler.processing.XAnnotationBox
 import androidx.room.compiler.processing.XType
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotation
-import org.jetbrains.kotlin.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSAnnotation
+import com.google.devtools.ksp.symbol.KSType
 import java.lang.reflect.Proxy
 
 @Suppress("UNCHECKED_CAST")
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
index 8e613b2..65e2a2c 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
@@ -20,7 +20,7 @@
 import androidx.room.compiler.processing.XType
 import com.squareup.javapoet.ArrayTypeName
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSType
 
 internal class KspArrayType(
     env: KspProcessingEnv,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspConstructorElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspConstructorElement.kt
index f6e4350..7417435 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspConstructorElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspConstructorElement.kt
@@ -17,7 +17,7 @@
 package androidx.room.compiler.processing.ksp
 
 import androidx.room.compiler.processing.XConstructorElement
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
 
 internal class KspConstructorElement(
     env: KspProcessingEnv,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspDeclaredType.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspDeclaredType.kt
index 1e75aea..8b630ed 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspDeclaredType.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspDeclaredType.kt
@@ -19,7 +19,7 @@
 import androidx.room.compiler.processing.XDeclaredType
 import androidx.room.compiler.processing.XType
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSType
 
 internal open class KspDeclaredType(
     env: KspProcessingEnv,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
index 076c82e..eee083d 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
@@ -18,10 +18,10 @@
 
 import androidx.room.compiler.processing.XElement
 import androidx.room.compiler.processing.XEquality
-import org.jetbrains.kotlin.ksp.symbol.KSAnnotated
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.KSAnnotated
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
 import java.util.Locale
 
 internal abstract class KspElement(
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableElement.kt
index bba8064..259f26d 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableElement.kt
@@ -22,7 +22,7 @@
 import androidx.room.compiler.processing.XHasModifiers
 import androidx.room.compiler.processing.XTypeElement
 import androidx.room.compiler.processing.ksp.KspAnnotated.UseSiteFilter.Companion.NO_USE_SITE
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
 
 internal abstract class KspExecutableElement(
     env: KspProcessingEnv,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
index 0e98d94..7e2d647 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
@@ -22,12 +22,12 @@
 import androidx.room.compiler.processing.XExecutableParameterElement
 import androidx.room.compiler.processing.XType
 import androidx.room.compiler.processing.ksp.KspAnnotated.UseSiteFilter.Companion.METHOD_PARAMETER
-import org.jetbrains.kotlin.ksp.symbol.KSVariableParameter
+import com.google.devtools.ksp.symbol.KSValueParameter
 
 internal class KspExecutableParameterElement(
     val env: KspProcessingEnv,
     val method: KspExecutableElement,
-    val parameter: KSVariableParameter
+    val parameter: KSValueParameter
 ) : XExecutableParameterElement,
     XEquality,
     XAnnotated by KspAnnotated.create(env, parameter, METHOD_PARAMETER) {
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFieldElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFieldElement.kt
index 449b29e..5bdbddd 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFieldElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFieldElement.kt
@@ -23,7 +23,7 @@
 import androidx.room.compiler.processing.XType
 import androidx.room.compiler.processing.XTypeElement
 import androidx.room.compiler.processing.ksp.KspAnnotated.UseSiteFilter.Companion.FIELD
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
 
 internal class KspFieldElement(
     env: KspProcessingEnv,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
index e75da68..de20737 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
@@ -18,7 +18,7 @@
 
 import androidx.room.compiler.processing.XFiler
 import com.squareup.javapoet.JavaFile
-import org.jetbrains.kotlin.ksp.processing.CodeGenerator
+import com.google.devtools.ksp.processing.CodeGenerator
 
 internal class KspFiler(
     private val delegate: CodeGenerator
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspHasModifiers.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspHasModifiers.kt
index 45ca301..a01effdf 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspHasModifiers.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspHasModifiers.kt
@@ -17,12 +17,12 @@
 package androidx.room.compiler.processing.ksp
 
 import androidx.room.compiler.processing.XHasModifiers
-import org.jetbrains.kotlin.ksp.isOpen
-import org.jetbrains.kotlin.ksp.isPrivate
-import org.jetbrains.kotlin.ksp.isProtected
-import org.jetbrains.kotlin.ksp.isPublic
-import org.jetbrains.kotlin.ksp.symbol.KSDeclaration
-import org.jetbrains.kotlin.ksp.symbol.Modifier
+import com.google.devtools.ksp.isOpen
+import com.google.devtools.ksp.isPrivate
+import com.google.devtools.ksp.isProtected
+import com.google.devtools.ksp.isPublic
+import com.google.devtools.ksp.symbol.KSDeclaration
+import com.google.devtools.ksp.symbol.Modifier
 
 /**
  * Implementation of [XHasModifiers] for ksp declarations.
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
index d0cd59f..74c2e38 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
@@ -23,12 +23,10 @@
 import androidx.room.compiler.processing.XType
 import androidx.room.compiler.processing.XTypeElement
 import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticContinuationParameterElement
-import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticPropertyMethodElement
-import org.jetbrains.kotlin.ksp.symbol.ClassKind
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
-import org.jetbrains.kotlin.ksp.symbol.Modifier
-import org.jetbrains.kotlin.ksp.symbol.Origin
+import com.google.devtools.ksp.symbol.ClassKind
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.Modifier
 
 internal sealed class KspMethodElement(
     env: KspProcessingEnv,
@@ -77,39 +75,7 @@
     }
 
     override fun overrides(other: XMethodElement, owner: XTypeElement): Boolean {
-        if (other is KspMethodElement) {
-            return try {
-                declaration.overrides(other.declaration)
-            } catch (castException: ClassCastException) {
-                // TODO remove the try catch once that bug is fixed.
-                // see https://github.com/google/ksp/issues/94
-                false
-            }
-        }
-        // TODO https://github.com/google/ksp/issues/93
-        //  remove this custom implementation when KSP supports this out of the box
-        // if our declaration is coming from java, it can override property getters/setters as well
-        val checkForJavaToKotlinOverride = other.isOverrideableIgnoringContainer() &&
-            (declaration.origin == Origin.JAVA || declaration.origin == Origin.CLASS)
-        return if (checkForJavaToKotlinOverride && name == other.name) {
-            when (other) {
-                is KspSyntheticPropertyMethodElement.Getter -> {
-                    return parameters.isEmpty() &&
-                        asMemberOf(owner.type).returnType.isSameType(
-                            other.asMemberOf(owner.type).returnType
-                        )
-                }
-                is KspSyntheticPropertyMethodElement.Setter -> {
-                    return parameters.size == 1 &&
-                        parameters.first().asMemberOf(owner.type).isSameType(
-                            other.parameters.first().asMemberOf(owner.type)
-                        )
-                }
-                else -> false
-            }
-        } else {
-            false
-        }
+        return env.resolver.overrides(this, other)
     }
 
     override fun copyTo(newContainer: XTypeElement): KspMethodElement {
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspProcessingEnv.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspProcessingEnv.kt
index 41043be..2780f0a 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspProcessingEnv.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspProcessingEnv.kt
@@ -24,15 +24,15 @@
 import androidx.room.compiler.processing.XType
 import androidx.room.compiler.processing.XTypeElement
 import androidx.room.compiler.processing.javac.XTypeElementStore
-import org.jetbrains.kotlin.ksp.processing.CodeGenerator
-import org.jetbrains.kotlin.ksp.processing.KSPLogger
-import org.jetbrains.kotlin.ksp.processing.Resolver
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSType
-import org.jetbrains.kotlin.ksp.symbol.KSTypeArgument
-import org.jetbrains.kotlin.ksp.symbol.KSTypeParameter
-import org.jetbrains.kotlin.ksp.symbol.KSTypeReference
-import org.jetbrains.kotlin.ksp.symbol.Variance
+import com.google.devtools.ksp.processing.CodeGenerator
+import com.google.devtools.ksp.processing.KSPLogger
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSTypeArgument
+import com.google.devtools.ksp.symbol.KSTypeParameter
+import com.google.devtools.ksp.symbol.KSTypeReference
+import com.google.devtools.ksp.symbol.Variance
 
 internal class KspProcessingEnv(
     override val options: Map<String, String>,
@@ -121,7 +121,7 @@
     }
 
     fun wrap(ksTypeReference: KSTypeReference): KspDeclaredType {
-        return wrap(ksTypeReference.requireType())
+        return wrap(ksTypeReference.resolve())
     }
 
     fun wrap(ksTypeParam: KSTypeParameter, ksTypeArgument: KSTypeArgument): KspTypeArgumentType {
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspRawType.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspRawType.kt
index c5367d0..3688aed 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspRawType.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspRawType.kt
@@ -19,7 +19,7 @@
 import androidx.room.compiler.processing.XRawType
 import androidx.room.compiler.processing.rawTypeName
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSType
 
 internal class KspRawType private constructor(
     private val ksType: KSType,
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspType.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspType.kt
index ed13785..fecc613 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspType.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspType.kt
@@ -20,10 +20,10 @@
 import androidx.room.compiler.processing.XNullability
 import androidx.room.compiler.processing.XType
 import androidx.room.compiler.processing.XTypeElement
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSType
-import org.jetbrains.kotlin.ksp.symbol.KSTypeReference
-import org.jetbrains.kotlin.ksp.symbol.Nullability
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSType
+import com.google.devtools.ksp.symbol.KSTypeReference
+import com.google.devtools.ksp.symbol.Nullability
 import kotlin.reflect.KClass
 
 /**
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeArgumentType.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeArgumentType.kt
index d3adffa..011b54a 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeArgumentType.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeArgumentType.kt
@@ -17,8 +17,8 @@
 package androidx.room.compiler.processing.ksp
 
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.symbol.KSTypeArgument
-import org.jetbrains.kotlin.ksp.symbol.KSTypeParameter
+import com.google.devtools.ksp.symbol.KSTypeArgument
+import com.google.devtools.ksp.symbol.KSTypeParameter
 
 /**
  * The typeName for type arguments requires the type parameter, hence we have a special type
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeElement.kt
index bc86345..8730aa1 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeElement.kt
@@ -27,16 +27,16 @@
 import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticConstructorForJava
 import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticPropertyMethodElement
 import com.squareup.javapoet.ClassName
-import org.jetbrains.kotlin.ksp.getAllSuperTypes
-import org.jetbrains.kotlin.ksp.getDeclaredFunctions
-import org.jetbrains.kotlin.ksp.getDeclaredProperties
-import org.jetbrains.kotlin.ksp.isOpen
-import org.jetbrains.kotlin.ksp.symbol.ClassKind
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSFunctionDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
-import org.jetbrains.kotlin.ksp.symbol.Modifier
-import org.jetbrains.kotlin.ksp.symbol.Origin
+import com.google.devtools.ksp.getAllSuperTypes
+import com.google.devtools.ksp.getDeclaredFunctions
+import com.google.devtools.ksp.getDeclaredProperties
+import com.google.devtools.ksp.isOpen
+import com.google.devtools.ksp.symbol.ClassKind
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSFunctionDeclaration
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.Modifier
+import com.google.devtools.ksp.symbol.Origin
 
 internal class KspTypeElement(
     env: KspProcessingEnv,
@@ -77,7 +77,7 @@
 
     override val superType: XType? by lazy {
         declaration.superTypes.firstOrNull {
-            val type = it.resolve()?.declaration as? KSClassDeclaration ?: return@firstOrNull false
+            val type = it.resolve().declaration as? KSClassDeclaration ?: return@firstOrNull false
             type.classKind == ClassKind.CLASS
         }?.let {
             env.wrap(it)
@@ -260,7 +260,7 @@
 
     override fun getSuperInterfaceElements(): List<XTypeElement> {
         return declaration.superTypes.asSequence().mapNotNull {
-            it.resolve()?.declaration
+            it.resolve().declaration
         }.filterIsInstance<KSClassDeclaration>()
             .filter {
                 it.classKind == ClassKind.INTERFACE
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt
index d490a38..a1f0ec5 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt
@@ -16,7 +16,12 @@
 
 package androidx.room.compiler.processing.ksp
 
-import org.jetbrains.kotlin.ksp.processing.Resolver
+import androidx.room.compiler.processing.XExecutableElement
+import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticPropertyMethodElement
+import com.google.devtools.ksp.closestClassDeclaration
+import com.google.devtools.ksp.getAllSuperTypes
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.symbol.KSDeclaration
 
 internal fun Resolver.findClass(qName: String) = getClassDeclarationByName(
     getKSNameFromString(qName)
@@ -27,3 +32,37 @@
 }
 
 internal fun Resolver.requireContinuationClass() = requireClass("kotlin.coroutines.Continuation")
+
+private fun XExecutableElement.getDeclarationForOverride(): KSDeclaration = when (this) {
+    is KspExecutableElement -> this.declaration
+    is KspSyntheticPropertyMethodElement -> this.field.declaration
+    else -> throw IllegalStateException("unexpected XExecutableElement type. $this")
+}
+
+internal fun Resolver.overrides(
+    overriderElement: XExecutableElement,
+    overrideeElement: XExecutableElement
+): Boolean {
+    // in addition to functions declared in kotlin, we also synthesize getter/setter functions for
+    // properties which means we cannot simply send the declaration to KSP for override check
+    // (otherwise, it won't give us a definitive answer when java methods override property
+    // getters /setters or even we won't be able to distinguish between our own Getter/Setter
+    // synthetics).
+    // By cheaply checking parameter counts, we avoid all those cases and if KSP returns true, it
+    // won't include false positives.
+    if (overriderElement.parameters.size != overrideeElement.parameters.size) {
+        return false
+    }
+    val ksOverrider = overriderElement.getDeclarationForOverride()
+    val ksOverridee = overrideeElement.getDeclarationForOverride()
+    if (!overrides(ksOverrider, ksOverridee)) {
+        return false
+    }
+    // TODO Workaround for https://github.com/google/ksp/issues/123
+    //  remove once that bug is fixed
+    val subClass = ksOverrider.closestClassDeclaration() ?: return false
+    val superClass = ksOverridee.closestClassDeclaration() ?: return false
+    return subClass.getAllSuperTypes().any {
+        it.declaration.closestClassDeclaration() == superClass
+    }
+}
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
index fef7915..1b5f8f4 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
@@ -29,7 +29,7 @@
 import androidx.room.compiler.processing.ksp.requireContinuationClass
 import androidx.room.compiler.processing.ksp.returnTypeAsMemberOf
 import androidx.room.compiler.processing.ksp.swapResolvedType
-import org.jetbrains.kotlin.ksp.symbol.Variance
+import com.google.devtools.ksp.symbol.Variance
 
 /**
  * XProcessing adds an additional argument to each suspend function for the continiuation because
diff --git a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
index c17e2d3..7b15858 100644
--- a/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
+++ b/room/compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
@@ -34,6 +34,7 @@
 import androidx.room.compiler.processing.ksp.KspHasModifiers
 import androidx.room.compiler.processing.ksp.KspProcessingEnv
 import androidx.room.compiler.processing.ksp.KspTypeElement
+import androidx.room.compiler.processing.ksp.overrides
 import java.util.Locale
 
 /**
@@ -88,6 +89,10 @@
         return XEquality.hashCode(equalityItems)
     }
 
+    final override fun overrides(other: XMethodElement, owner: XTypeElement): Boolean {
+        return env.resolver.overrides(this, other)
+    }
+
     internal class Getter(
         env: KspProcessingEnv,
         field: KspFieldElement
@@ -129,11 +134,6 @@
             return "synthetic property getter"
         }
 
-        override fun overrides(other: XMethodElement, owner: XTypeElement): Boolean {
-            return other is Getter &&
-                field.declaration.overrides(other.field.declaration)
-        }
-
         override fun copyTo(newContainer: XTypeElement): XMethodElement {
             check(newContainer is KspTypeElement)
             return Getter(
@@ -192,11 +192,6 @@
             return "synthetic property getter"
         }
 
-        override fun overrides(other: XMethodElement, owner: XTypeElement): Boolean {
-            return other is Setter &&
-                field.declaration.overrides(other.field.declaration)
-        }
-
         override fun copyTo(newContainer: XTypeElement): XMethodElement {
             check(newContainer is KspTypeElement)
             return Setter(
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/SyntheticKspProcessor.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/SyntheticKspProcessor.kt
index ab1f86b..03125125 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/SyntheticKspProcessor.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/SyntheticKspProcessor.kt
@@ -18,10 +18,10 @@
 
 import androidx.room.compiler.processing.ksp.KspProcessingEnv
 import androidx.room.compiler.processing.util.TestInvocation
-import org.jetbrains.kotlin.ksp.processing.CodeGenerator
-import org.jetbrains.kotlin.ksp.processing.KSPLogger
-import org.jetbrains.kotlin.ksp.processing.Resolver
-import org.jetbrains.kotlin.ksp.processing.SymbolProcessor
+import com.google.devtools.ksp.processing.CodeGenerator
+import com.google.devtools.ksp.processing.KSPLogger
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.processing.SymbolProcessor
 
 class SyntheticKspProcessor(
     private val handler: (TestInvocation) -> Unit
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
index f342eed..92d3afe 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
@@ -352,9 +352,9 @@
                 base: XTypeElement,
                 baseMethodName: String = ownerMethodName
             ): Boolean {
-                val overridee = owner.getMethod(ownerMethodName)
+                val overrider = owner.getMethod(ownerMethodName)
                 val overridden = base.getMethod(baseMethodName)
-                return overridee.overrides(
+                return overrider.overrides(
                     overridden, owner
                 )
             }
@@ -404,6 +404,15 @@
                         baseMethodName = "getY"
                     )
                 ).isFalse()
+
+                Truth.assertWithMessage(subject.className.canonicalName()).that(
+                    overrides(
+                        owner = subject,
+                        ownerMethodName = "setY",
+                        base = subject,
+                        baseMethodName = "setY"
+                    )
+                ).isFalse()
             }
         }
     }
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
index 0258404..8b0cfe5 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
@@ -30,7 +30,7 @@
 import com.squareup.javapoet.ParameterizedTypeName
 import com.squareup.javapoet.TypeName
 import com.squareup.javapoet.TypeVariableName
-import org.jetbrains.kotlin.ksp.getClassDeclarationByName
+import com.google.devtools.ksp.getClassDeclarationByName
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt
index 90816ee..38c1163 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt
@@ -26,10 +26,10 @@
 import androidx.room.compiler.processing.util.runKspTest
 import com.google.common.truth.Truth.assertThat
 import com.squareup.javapoet.ParameterizedTypeName
-import org.jetbrains.kotlin.ksp.getDeclaredProperties
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
-import org.jetbrains.kotlin.ksp.symbol.Nullability
+import com.google.devtools.ksp.getDeclaredProperties
+import com.google.devtools.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.Nullability
 import org.junit.Test
 
 class KSAsMemberOfTest {
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeExtTest.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeExtTest.kt
index d95171c..53612fa 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeExtTest.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeExtTest.kt
@@ -25,10 +25,10 @@
 import com.squareup.javapoet.ClassName
 import com.squareup.javapoet.ParameterizedTypeName
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.getDeclaredFunctions
-import org.jetbrains.kotlin.ksp.getDeclaredProperties
-import org.jetbrains.kotlin.ksp.processing.Resolver
-import org.jetbrains.kotlin.ksp.symbol.KSClassDeclaration
+import com.google.devtools.ksp.getDeclaredFunctions
+import com.google.devtools.ksp.getDeclaredProperties
+import com.google.devtools.ksp.processing.Resolver
+import com.google.devtools.ksp.symbol.KSClassDeclaration
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
index 5be5351..3944482 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
@@ -24,10 +24,10 @@
 import com.google.common.truth.Truth.assertThat
 import com.squareup.javapoet.ClassName
 import com.squareup.javapoet.WildcardTypeName
-import org.jetbrains.kotlin.ksp.getClassDeclarationByName
-import org.jetbrains.kotlin.ksp.getDeclaredFunctions
-import org.jetbrains.kotlin.ksp.symbol.KSPropertyDeclaration
-import org.jetbrains.kotlin.ksp.symbol.KSTypeReference
+import com.google.devtools.ksp.getClassDeclarationByName
+import com.google.devtools.ksp.getDeclaredFunctions
+import com.google.devtools.ksp.symbol.KSPropertyDeclaration
+import com.google.devtools.ksp.symbol.KSTypeReference
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
@@ -503,13 +503,7 @@
             val prop = file.declarations.first {
                 it.simpleName.asString() == name
             } as KSPropertyDeclaration
-            return checkNotNull(
-                prop.type?.let {
-                    wrap(it)
-                }
-            ) {
-                "cannot find type for $name"
-            }
+            return wrap(prop.type)
         }
         throw IllegalStateException("cannot find any property with name $name")
     }
diff --git a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestInvocation.kt b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestInvocation.kt
index 2f2d228..5e0d428 100644
--- a/room/compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestInvocation.kt
+++ b/room/compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestInvocation.kt
@@ -21,7 +21,7 @@
 import androidx.room.compiler.processing.ksp.KspProcessingEnv
 import com.squareup.javapoet.ClassName
 import com.squareup.javapoet.TypeName
-import org.jetbrains.kotlin.ksp.processing.Resolver
+import com.google.devtools.ksp.processing.Resolver
 import javax.lang.model.util.Elements
 
 class TestInvocation(