Upgrade to Java 17
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7068e82..5b0f07d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -40,7 +40,7 @@
 Here are some [sample test processors](compiler-plugin/src/test/kotlin/com/google/devtools/ksp/processor) for your reference.
 
 #### Steps for writing a test
-* KSP needs to be built with JDK 11+, because of some test dependencies.
+* KSP needs to be built with JDK 17+, because of some test dependencies.
 * Create a test processor under the sample processor folder.
 it should be extending [AbstractTestProcessor](test-utils/src/main/kotlin/com/google/devtools/ksp/processor/AbstractTestProcessor.kt)
 * Write your logic by overriding corresponding functions. 
diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts
index 71a9ec7..a798c68 100644
--- a/benchmark/build.gradle.kts
+++ b/benchmark/build.gradle.kts
@@ -34,7 +34,7 @@
     mainClass = "com.google.devtools.ksp.BenchRunner"
 }
 tasks.withType<KotlinCompile> {
-    compilerOptions.jvmTarget = "1.8"
+    compilerOptions.jvmTarget = "17"
 }
 tasks.withType<Jar> {
     manifest {
diff --git a/build.gradle.kts b/build.gradle.kts
index 8b81f04..dc2c39e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -104,8 +104,8 @@
     pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
         configure<JavaPluginExtension> {
             toolchain.languageVersion.set(compileJavaVersion)
-            sourceCompatibility = JavaVersion.VERSION_1_8
-            targetCompatibility = JavaVersion.VERSION_1_8
+            sourceCompatibility = JavaVersion.VERSION_17
+            targetCompatibility = JavaVersion.VERSION_17
         }
         configure<KotlinJvmProjectExtension> {
             compilerOptions {
diff --git a/docs/ksp2cmdline.md b/docs/ksp2cmdline.md
index cc1e8dd..fe02b14 100644
--- a/docs/ksp2cmdline.md
+++ b/docs/ksp2cmdline.md
@@ -19,7 +19,7 @@
 java -cp \
 symbol-processing-aa-2.2.10-2.0.2.jar:kotlin-analysis-api-2.2.10-2.0.2.jar:common-deps-2.2.10-2.0.2.jar:symbol-processing-api-2.2.10-2.0.2.jar:kotlin-stdlib-2.2.10.jar:kotlinx-coroutines-core-jvm-1.10.2.jar \
 com.google.devtools.ksp.cmdline.KSPJvmMain \
--jvm-target 11 \
+-jvm-target 17 \
 -module-name=main \
 -source-roots project_dir/src/kotlin/main \
 -project-base-dir project_dir/ \
diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts
index 0c8d917..d2dffa5 100644
--- a/gradle-plugin/build.gradle.kts
+++ b/gradle-plugin/build.gradle.kts
@@ -124,8 +124,8 @@
             resources.srcDir(testPropsOutDir)
         }
     }
-    sourceCompatibility = JavaVersion.VERSION_11
-    targetCompatibility = JavaVersion.VERSION_11
+    sourceCompatibility = JavaVersion.VERSION_17
+    targetCompatibility = JavaVersion.VERSION_17
 }
 
 tasks.named("compileTestKotlin").configure {
@@ -182,7 +182,7 @@
         }
     }
     compilerOptions {
-        jvmTarget.set(JvmTarget.JVM_11)
+        jvmTarget.set(JvmTarget.JVM_17)
     }
 }
 
diff --git a/integration-tests/build.gradle.kts b/integration-tests/build.gradle.kts
index 0941531..c526eb8 100644
--- a/integration-tests/build.gradle.kts
+++ b/integration-tests/build.gradle.kts
@@ -80,12 +80,12 @@
 }
 
 java {
-    sourceCompatibility = JavaVersion.VERSION_11
-    targetCompatibility = JavaVersion.VERSION_11
+    sourceCompatibility = JavaVersion.VERSION_17
+    targetCompatibility = JavaVersion.VERSION_17
 }
 
 kotlin {
     compilerOptions {
-        jvmTarget.set(JvmTarget.JVM_11)
+        jvmTarget.set(JvmTarget.JVM_17)
     }
 }
diff --git a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/TypeAliasProcessor.kt b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/TypeAliasProcessor.kt
index 82f37f4..3aff8e6 100644
--- a/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/TypeAliasProcessor.kt
+++ b/test-utils/src/main/kotlin/com/google/devtools/ksp/processor/TypeAliasProcessor.kt
@@ -91,7 +91,7 @@
         return buildList {
             while (self != null) {
                 add(self.toSignature())
-                self = (self?.declaration as? KSTypeAlias)?.type?.resolve()
+                self = (self.declaration as? KSTypeAlias)?.type?.resolve()
             }
         }
     }