Merge "Revert "Upgrade to Kotlin 1.7.0"" into androidx-main am: ea91179aed

Original change: https://android-review.googlesource.com/c/platform/frameworks/support/+/2125732

Change-Id: Ib4bc1cca541220353ce6be1241856e4b2b1200a5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/appcompat/appcompat/src/main/java/DeleteMe.kt b/appcompat/appcompat/src/main/java/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/appcompat/appcompat/src/main/java/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/autofill/autofill/src/main/java/androidx/autofill/DeleteMe.kt b/autofill/autofill/src/main/java/androidx/autofill/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/autofill/autofill/src/main/java/androidx/autofill/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt
index e98296f..304f7b4 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeImplPlugin.kt
@@ -40,12 +40,12 @@
 import org.gradle.kotlin.dsl.apply
 import org.gradle.kotlin.dsl.findByType
 import org.gradle.kotlin.dsl.withType
+import org.jetbrains.kotlin.commonizer.util.transitiveClosure
 import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
 import org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper
 import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper
 import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-import org.jetbrains.kotlin.tooling.core.withClosure
 
 const val composeSourceOption =
     "plugin:androidx.compose.compiler.plugins.kotlin:sourceInformation=true"
@@ -418,7 +418,7 @@
         val androidMain = multiplatformExtension.sourceSets.findByName("androidMain")
             ?: return@afterEvaluate
         // Get all the sourcesets androidMain transitively / directly depends on
-        val dependencies = androidMain.withClosure(KotlinSourceSet::dependsOn)
+        val dependencies = transitiveClosure(androidMain, KotlinSourceSet::dependsOn)
 
         /**
          * Helper function to add the missing sourcesets to this [VariantInputs]
@@ -468,37 +468,3 @@
     block()
     disallowChanges.set(this, true)
 }
-
-/**
- * General purpose implementation of a transitive closure
- * - Recursion free
- * - Predictable amount of allocations
- * - Handles loops and self references gracefully
- * @param edges: Producer function from one node to all its children. This implementation can handle loops and self references gracefully.
- * @return Note: No guarantees given about the order ot this [Set]
- */
-public inline fun <reified T> transitiveClosure(seed: T, edges: T.() -> Iterable<T>): Set<T> {
-    // Fast path when initial edges are empty
-    val initialEdges = seed.edges()
-    if (initialEdges is Collection && initialEdges.isEmpty()) return emptySet()
-
-    val queue = deque<T>(initialEdges.count() * 2)
-    val results = mutableSetOf<T>()
-    queue.addAll(initialEdges)
-    while (queue.isNotEmpty()) {
-        // ArrayDeque implementation will optimize this call to 'removeFirst'
-        val resolved = queue.removeAt(0)
-        if (resolved != seed && results.add(resolved)) {
-            queue.addAll(resolved.edges())
-        }
-    }
-
-    return results.toSet()
-}
-
-@OptIn(ExperimentalStdlibApi::class)
-@PublishedApi
-internal inline fun <reified T> deque(initialSize: Int): MutableList<T> {
-    return if (KotlinVersion.CURRENT.isAtLeast(1, 4)) ArrayDeque(initialSize)
-    else ArrayList(initialSize)
-}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
index 37a7b08..12a2cf8 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
@@ -17,7 +17,6 @@
 
 import androidx.build.enforceKtlintVersion
 import androidx.build.getCheckoutRoot
-import java.io.File
 import org.gradle.api.DefaultTask
 import org.gradle.api.GradleException
 import org.gradle.api.Project
@@ -25,9 +24,7 @@
 import org.gradle.api.artifacts.component.ModuleComponentIdentifier
 import org.gradle.api.artifacts.repositories.MavenArtifactRepository
 import org.gradle.api.artifacts.result.ResolvedArtifactResult
-import org.gradle.api.attributes.Category
 import org.gradle.api.attributes.Usage
-import org.gradle.api.attributes.plugin.GradlePluginApiVersion
 import org.gradle.api.file.ConfigurableFileCollection
 import org.gradle.api.file.FileCollection
 import org.gradle.api.provider.Property
@@ -37,8 +34,8 @@
 import org.gradle.api.tasks.PathSensitivity
 import org.gradle.api.tasks.TaskAction
 import org.gradle.kotlin.dsl.named
-import org.gradle.util.GradleVersion
 import org.gradle.work.DisableCachingByDefault
+import java.io.File
 
 /**
  * This task creates a configuration for the project that has all of its external dependencies
@@ -120,16 +117,6 @@
                         Usage.USAGE_ATTRIBUTE,
                         project.objects.named<Usage>(Usage.JAVA_RUNTIME)
                     )
-                    it.attribute(
-                        Category.CATEGORY_ATTRIBUTE,
-                        project.objects.named<Category>(Category.LIBRARY)
-                    )
-                    it.attribute(
-                        GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE,
-                        project.objects.named<GradlePluginApiVersion>(
-                            GradleVersion.current().getVersion()
-                        )
-                    )
                 }
                 // workaround for b/234884534
                 project.enforceKtlintVersion(checkerConfig)
diff --git a/buildSrc/shared.gradle b/buildSrc/shared.gradle
index ae36e01..d5c62d5 100644
--- a/buildSrc/shared.gradle
+++ b/buildSrc/shared.gradle
@@ -19,23 +19,8 @@
     // Because we cache the resolutions of these configurations, performance is faster when
     // artifacts are put into these configurations than when those artifacts are put into their
     // corresponding configuration.
-    cacheableApi {
-        attributes {
-            attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage.class, Usage.JAVA_RUNTIME));
-            attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.class, Category.LIBRARY));
-            attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, project.objects.named(LibraryElements.class, LibraryElements.JAR));
-            attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, Integer.parseInt(JavaVersion.current().getMajorVersion()));
-            attribute(GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, project.objects.named(GradlePluginApiVersion.class, GradleVersion.current().getVersion()));
-        }
-    }
+    cacheableApi
     cacheableImplementation {
-        attributes {
-            attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage.class, Usage.JAVA_RUNTIME));
-            attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.class, Category.LIBRARY));
-            attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, project.objects.named(LibraryElements.class, LibraryElements.JAR));
-            attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, Integer.parseInt(JavaVersion.current().getMajorVersion()));
-            attribute(GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, project.objects.named(GradlePluginApiVersion.class, GradleVersion.current().getVersion()));
-        }
         extendsFrom(project.configurations.cacheableApi)
     }
     cacheableRuntimeOnly
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/DeleteMe.kt b/camera/camera-camera2/src/main/java/androidx/camera/camera2/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/DeleteMe.kt b/camera/camera-core/src/main/java/androidx/camera/core/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-core/src/main/java/androidx/camera/core/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/DeleteMe.kt b/camera/camera-extensions/src/main/java/androidx/camera/extensions/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/DeleteMe.kt b/camera/camera-video/src/main/java/androidx/camera/video/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-video/src/main/java/androidx/camera/video/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/DeleteMe.kt b/camera/camera-view/src/main/java/androidx/camera/view/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-view/src/main/java/androidx/camera/view/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/DeleteMe.kt b/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimateAsState.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimateAsState.kt
index 2146ec2..1b0b921 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimateAsState.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimateAsState.kt
@@ -350,7 +350,6 @@
 fun <T, V : AnimationVector> animateValueAsState(
     targetValue: T,
     typeConverter: TwoWayConverter<T, V>,
-    @Suppress("UNINITIALIZED_PARAMETER_WARNING") // b/235315629
     animationSpec: AnimationSpec<T> = remember {
         spring(visibilityThreshold = visibilityThreshold)
     },
diff --git a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
index f809ad9..00cdfd7 100644
--- a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
+++ b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
@@ -26,7 +26,7 @@
 import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
 import org.jetbrains.kotlin.config.Services
 import org.jetbrains.kotlin.incremental.ClasspathChanges.ClasspathSnapshotEnabled
-import org.jetbrains.kotlin.build.report.DoNothingICReporter
+import org.jetbrains.kotlin.incremental.EmptyICReporter
 import org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner
 import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory
 import org.jetbrains.kotlin.incremental.withIC
@@ -95,7 +95,7 @@
 object IncrementalDaemonCompiler : DaemonCompiler {
     private val compiler = IncrementalJvmCompilerRunner(
         workingDir = Files.createTempDirectory("workingDir").toFile(),
-        reporter = BuildReporter(DoNothingICReporter, DoNothingBuildMetricsReporter),
+        reporter = BuildReporter(EmptyICReporter, DoNothingBuildMetricsReporter),
         usePreciseJavaTracking = true,
         outputFiles = emptyList(),
         buildHistoryFile = Files.createTempFile("build-history", ".bin").toFile(),
@@ -114,7 +114,7 @@
         return try {
             val compilerArgs = parseArgs(args, daemonCompilerSettings.composePluginPath)
             compilerArgs.moduleName = "test"
-            withIC(compilerArgs) {
+            withIC {
                 compiler.compile(
                     compilerArgs.freeArgs.map { File(it) },
                     compilerArgs,
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt
index 1ca1cb8..8122c82 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt
@@ -35,7 +35,6 @@
 import org.jetbrains.kotlin.psi.KtFile
 import org.jetbrains.kotlin.resolve.AnalyzingUtils
 import java.io.File
-import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
 
 abstract class AbstractCodegenTest : AbstractCompilerTest() {
     override fun setUp() {
@@ -44,7 +43,6 @@
 
         val configuration = newConfiguration()
         configuration.addJvmClasspathRoots(classPath)
-        configuration.configureJdkClasspathRoots()
         updateConfiguration(configuration)
 
         myEnvironment = KotlinCoreEnvironment.createForTests(
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCompilerTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCompilerTest.kt
index d44d4bb..20c2231 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCompilerTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCompilerTest.kt
@@ -42,7 +42,6 @@
 import java.net.MalformedURLException
 import java.net.URL
 import java.net.URLClassLoader
-import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
 
 private const val KOTLIN_RUNTIME_VERSION = "1.3.11"
 
@@ -98,7 +97,6 @@
 
         val configuration = newConfiguration()
         configuration.addJvmClasspathRoots(classPath)
-        configuration.configureJdkClasspathRoots()
 
         System.setProperty("idea.ignore.disabled.plugins", "true")
         return KotlinCoreEnvironment.createForTests(
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractIrTransformTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractIrTransformTest.kt
index a63c76e..b5e20c4 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractIrTransformTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractIrTransformTest.kt
@@ -64,8 +64,6 @@
 import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
 import org.jetbrains.kotlin.utils.addToStdlib.safeAs
 import java.io.File
-import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignatureFinderImpl
-import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
 
 @Suppress("LeakingThis")
 abstract class ComposeIrTransformTest : AbstractIrTransformTest() {
@@ -402,8 +400,6 @@
             configuration.languageVersionSettings =
                 configuration.languageVersionSettings.setFeatures(specificFeature)
 
-            configuration.configureJdkClasspathRoots()
-
             val environment = KotlinCoreEnvironment.createForTests(
                 myTestRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES
             ).also { setupEnvironment(it) }
@@ -437,7 +433,6 @@
                 generatorContext.moduleDescriptor,
                 generatorContext.symbolTable,
                 generatorContext.irBuiltIns,
-                DescriptorByIdSignatureFinderImpl(generatorContext.moduleDescriptor, mangler),
                 extensions
             )
             val frontEndContext = object : TranslationPluginContext {
@@ -457,8 +452,7 @@
                 generatorContext.symbolTable,
                 frontEndContext,
                 stubGenerator,
-                mangler,
-                true
+                mangler
             )
 
             generatorContext.moduleDescriptor.allDependencyModules.map {
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt
index 9b642d7..9df6bbb 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt
@@ -23,7 +23,6 @@
 import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
 import org.jetbrains.kotlin.ir.expressions.IrExpression
 import org.jetbrains.kotlin.ir.expressions.IrReturn
-import org.jetbrains.kotlin.ir.types.IrType
 import org.jetbrains.kotlin.ir.util.defaultType
 import org.jetbrains.kotlin.ir.util.statements
 import org.junit.Test
@@ -1173,8 +1172,7 @@
         )
         val irModule = JvmCompilation().compile(files)
         val irClass = irModule.files.last().declarations.first() as IrClass
-        val classStability = StabilityInferencer(pluginContext!!)
-            .stabilityOf(irClass.defaultType as IrType)
+        val classStability = StabilityInferencer(pluginContext!!).stabilityOf(irClass.defaultType)
 
         assertEquals(
             stability,
@@ -1192,8 +1190,7 @@
     ) {
         val irModule = buildModule(externalSrc, classDefSrc, dumpClasses)
         val irClass = irModule.files.last().declarations.first() as IrClass
-        val classStability = StabilityInferencer(pluginContext!!)
-            .stabilityOf(irClass.defaultType as IrType)
+        val classStability = StabilityInferencer(pluginContext!!).stabilityOf(irClass.defaultType)
 
         assertEquals(
             stability,
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
index d890675..d5f4702 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
@@ -530,8 +530,7 @@
               }
               else -> {
                 val tmp0_group = tmp0_safe_receiver.let { it: Function2<Composer, Int, Unit?> ->
-                  val tmp0_return = it(%composer, 0)
-                  tmp0_return
+                  it(%composer, 0)
                 }
                 tmp0_group
               }
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableCheckerTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableCheckerTests.kt
index df5d016..4bae40f 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableCheckerTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableCheckerTests.kt
@@ -6,7 +6,6 @@
 import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
 import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
 import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
-import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
 
 class ComposableCheckerTests : AbstractComposeDiagnosticsTest() {
     override fun setUp() {
@@ -27,7 +26,6 @@
         val classPath = createClasspath()
         val configuration = newConfiguration()
         configuration.addJvmClasspathRoots(classPath)
-        configuration.configureJdkClasspathRoots()
 
         val environment =
             KotlinCoreEnvironment.createForTests(
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
index 7063bcbc..5934542 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
@@ -22,7 +22,6 @@
 import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
 import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
 import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
-import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
 
 class ComposableTargetCheckerTests : AbstractComposeDiagnosticsTest() {
     override fun setUp() {
@@ -43,7 +42,6 @@
         val classPath = createClasspath()
         val configuration = newConfiguration()
         configuration.addJvmClasspathRoots(classPath)
-        configuration.configureJdkClasspathRoots()
 
         val environment =
             KotlinCoreEnvironment.createForTests(
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposePlugin.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposePlugin.kt
index 5a64b1c..691fe14 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposePlugin.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposePlugin.kt
@@ -204,7 +204,7 @@
             project: Project,
             configuration: CompilerConfiguration
         ) {
-            val KOTLIN_VERSION_EXPECTATION = "1.7.0"
+            val KOTLIN_VERSION_EXPECTATION = "1.6.21"
             KotlinCompilerVersion.getVersion()?.let { version ->
                 val suppressKotlinVersionCheck = configuration.get(
                     ComposeConfiguration.SUPPRESS_KOTLIN_VERSION_COMPATIBILITY_CHECK,
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
index 91fef70..152333aa 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
@@ -498,7 +498,7 @@
 
 private fun IrType.getInlinedClass(): IrClass? {
     val erased = erase(this) ?: return null
-    if (this is IrSimpleType && isInlineClassType()) {
+    if (this is IrSimpleType && erased.isInline) {
         val fieldType = getInlineClassUnderlyingType(erased)
         return fieldType.getInlinedClass()
     }
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
index 9372fe0..7b9e942 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
@@ -79,7 +79,6 @@
 import org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl
-import org.jetbrains.kotlin.ir.declarations.inlineClassRepresentation
 import org.jetbrains.kotlin.ir.declarations.name
 import org.jetbrains.kotlin.ir.expressions.IrBranch
 import org.jetbrains.kotlin.ir.expressions.IrCall
@@ -126,6 +125,7 @@
 import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
 import org.jetbrains.kotlin.ir.types.isNullable
 import org.jetbrains.kotlin.ir.types.isPrimitiveType
+import org.jetbrains.kotlin.ir.types.isUnit
 import org.jetbrains.kotlin.ir.types.makeNullable
 import org.jetbrains.kotlin.ir.types.toKotlinType
 import org.jetbrains.kotlin.ir.types.typeWith
@@ -300,12 +300,12 @@
     // NOTE(lmr): This implementation mimics the kotlin-provided unboxInlineClass method, except
     // this one makes sure to bind the symbol if it is unbound, so is a bit safer to use.
     fun IrType.unboxType(): IrType? {
-        val klass = classOrNull?.owner ?: return null
-        val representation = klass.inlineClassRepresentation ?: return null
-        if (!isInlineClassType()) return null
+        val classSymbol = classOrNull ?: return null
+        val klass = classSymbol.owner
+        if (!klass.isInline) return null
 
         // TODO: Apply type substitutions
-        val underlyingType = representation.underlyingType.unboxInlineClass()
+        val underlyingType = getUnderlyingType(klass).unboxInlineClass()
         if (!isNullable()) return underlyingType
         if (underlyingType.isNullable() || underlyingType.isPrimitiveType())
             return null
@@ -316,7 +316,7 @@
         if (type.isNullable()) return this
         val classSymbol = type.classOrNull ?: return this
         val klass = classSymbol.owner
-        if (type.isInlineClassType()) {
+        if (klass.isInline) {
             if (context.platform.isJvm()) {
                 return coerceInlineClasses(
                     this,
@@ -1336,7 +1336,13 @@
 
 // workaround for KT-45361
 val IrConstructorCall.annotationClass get() =
+    if (type.isUnit()) {
+        // in js annotation type is always unit, so we use the constructed class
+        symbol.owner.constructedClass.symbol
+    } else {
+        // on jvm we can rely on type, but the owner can be unbound
         type.classOrNull
+    }
 
 fun ParameterDescriptor.index(): Int =
     when (this) {
@@ -1345,6 +1351,8 @@
         else -> error("expected either receiver or value parameter, but got: $this")
     }
 
+fun getUnderlyingType(irClass: IrClass) = irClass.inlineClassRepresentation!!.underlyingType
+
 inline fun <T> includeFileNameInExceptionTrace(file: IrFile, body: () -> T): T {
     try {
         return body()
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
index 123a729..fe9e8d5 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
@@ -23,7 +23,6 @@
 import androidx.compose.compiler.plugins.kotlin.analysis.forEach
 import org.jetbrains.kotlin.backend.common.ClassLoweringPass
 import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
-import org.jetbrains.kotlin.backend.jvm.ir.isInlineClassType
 import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
 import org.jetbrains.kotlin.ir.IrStatement
 import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -96,7 +95,7 @@
             cls.isInner ||
             cls.isFileClass ||
             cls.isCompanion ||
-            cls.defaultType.isInlineClassType()
+            cls.isInline
         ) return cls
 
         if (declaration.hasStableMarker()) {
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
index bc25e76..51ce3c0 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
@@ -137,7 +137,6 @@
 import org.jetbrains.kotlin.ir.types.isFloat
 import org.jetbrains.kotlin.ir.types.isInt
 import org.jetbrains.kotlin.ir.types.isLong
-import org.jetbrains.kotlin.ir.types.isMarkedNullable
 import org.jetbrains.kotlin.ir.types.isNothing
 import org.jetbrains.kotlin.ir.types.isNullableAny
 import org.jetbrains.kotlin.ir.types.isNullableNothing
@@ -4312,7 +4311,7 @@
 
 private fun IrType.isClassType(fqName: FqNameUnsafe, hasQuestionMark: Boolean? = null): Boolean {
     if (this !is IrSimpleType) return false
-    if (hasQuestionMark != null && this.isMarkedNullable() == hasQuestionMark) return false
+    if (hasQuestionMark != null && this.hasQuestionMark != hasQuestionMark) return false
     return classifier.isClassWithFqName(fqName)
 }
 private fun IrType.isNotNullClassType(fqName: FqNameUnsafe) =
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTypeRemapper.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTypeRemapper.kt
index 89384c6..73235f2 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTypeRemapper.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTypeRemapper.kt
@@ -428,7 +428,7 @@
         return IrSimpleTypeImpl(
             null,
             functionCls,
-            type.nullability,
+            type.hasQuestionMark,
             newIrArguments.map { remapTypeArgument(it) },
             type.annotations.filter { !it.isComposableAnnotation() }.map {
                 it.transform(deepCopy, null) as IrConstructorCall
@@ -441,7 +441,7 @@
         return IrSimpleTypeImpl(
             null,
             symbolRemapper.getReferencedClassifier(type.classifier),
-            type.nullability,
+            type.hasQuestionMark,
             type.arguments.map { remapTypeArgument(it) },
             type.annotations.map { it.transform(deepCopy, null) as IrConstructorCall },
             type.abbreviation?.remapTypeAbbreviation()
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
index a9ffa42..a072871 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
@@ -78,7 +78,6 @@
 import org.jetbrains.kotlin.ir.util.fileOrNull
 import org.jetbrains.kotlin.ir.util.findAnnotation
 import org.jetbrains.kotlin.ir.util.functions
-import org.jetbrains.kotlin.ir.util.getInlineClassUnderlyingType
 import org.jetbrains.kotlin.ir.util.isFakeOverride
 import org.jetbrains.kotlin.ir.util.isVararg
 import org.jetbrains.kotlin.ir.util.module
@@ -280,7 +279,7 @@
         endOffset: Int = UNDEFINED_OFFSET
     ): IrExpression {
         val classSymbol = classOrNull
-        if (this !is IrSimpleType || hasQuestionMark || !isInlineClassType()) {
+        if (this !is IrSimpleType || hasQuestionMark || classSymbol?.owner?.isInline != true) {
             return if (isMarkedNullable()) {
                 IrConstImpl.constNull(startOffset, endOffset, context.irBuiltIns.nothingNType)
             } else {
@@ -296,8 +295,8 @@
                 this
             )
         } else {
-            val ctor = classSymbol!!.constructors.first()
-            val underlyingType = getInlineClassUnderlyingType(classSymbol.owner)
+            val ctor = classSymbol.constructors.first()
+            val underlyingType = getUnderlyingType(classSymbol.owner)
 
             // TODO(lmr): We should not be calling the constructor here, but this seems like a
             //  reasonable interim solution.
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
index 5acafa0..1f695e2 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
@@ -1011,7 +1011,7 @@
         return "${if (value < 0) "-" else ""}0b$result"
     }
 
-    override fun visitConst(expression: IrConst<*>) {
+    override fun <T> visitConst(expression: IrConst<T>) {
         val result = when (expression.kind) {
             is IrConstKind.Null -> "${expression.value}"
             is IrConstKind.Boolean -> "${expression.value}"
@@ -1269,7 +1269,7 @@
         print("<<SPREAD>>")
     }
 
-    override fun visitValueAccess(expression: IrValueAccessExpression) {
+    override fun visitVariableAccess(expression: IrValueAccessExpression) {
         print("<<VARACCESS>>")
     }
 
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/LiveLiteralTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/LiveLiteralTransformer.kt
index d4cbcdb..42aba96 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/LiveLiteralTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/LiveLiteralTransformer.kt
@@ -89,7 +89,6 @@
 import org.jetbrains.kotlin.ir.expressions.impl.IrGetObjectValueImpl
 import org.jetbrains.kotlin.ir.expressions.impl.IrStringConcatenationImpl
 import org.jetbrains.kotlin.ir.expressions.impl.IrVarargImpl
-import org.jetbrains.kotlin.ir.expressions.impl.copyWithOffsets
 import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
 import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl
 import org.jetbrains.kotlin.ir.types.IrType
@@ -397,7 +396,7 @@
     }
 
     @OptIn(ObsoleteDescriptorBasedAPI::class)
-    override fun visitConst(expression: IrConst<*>): IrExpression {
+    override fun <T> visitConst(expression: IrConst<T>): IrExpression {
         when (expression.kind) {
             IrConstKind.Null -> return expression
             else -> {
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
index 50396c8..60d2a63 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
@@ -123,12 +123,11 @@
 
 @Immutable
 private object MaterialRippleTheme : RippleTheme {
-
     @Composable
     override fun defaultColor() = RippleTheme.defaultRippleColor(
-            contentColor = LocalContentColor.current,
-            lightTheme = MaterialTheme.colors.isLight
-        )
+        contentColor = LocalContentColor.current,
+        lightTheme = MaterialTheme.colors.isLight
+    )
 
     @Composable
     override fun rippleAlpha() = RippleTheme.defaultRippleAlpha(
diff --git a/core/core-ktx/src/main/java/androidx/core/os/OutcomeReceiver.kt b/core/core-ktx/src/main/java/androidx/core/os/OutcomeReceiver.kt
index 61ded5a..a3d9454 100644
--- a/core/core-ktx/src/main/java/androidx/core/os/OutcomeReceiver.kt
+++ b/core/core-ktx/src/main/java/androidx/core/os/OutcomeReceiver.kt
@@ -61,7 +61,7 @@
 private class ContinuationOutcomeReceiver<R, E : Throwable>(
     private val continuation: Continuation<R>
 ) : OutcomeReceiver<R, E>, AtomicBoolean(false) {
-    @Suppress("WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE")
+    @Suppress("WRONG_NULLABILITY_FOR_JAVA_OVERRIDE")
     override fun onResult(result: R) {
         // Do not attempt to resume more than once, even if the caller of the returned
         // OutcomeReceiver is buggy and tries anyway.
diff --git a/core/core/src/main/java/androidx/core/DeleteMe.kt b/core/core/src/main/java/androidx/core/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/core/core/src/main/java/androidx/core/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/development/build_log_simplifier/messages.ignore b/development/build_log_simplifier/messages.ignore
index 152245b..63d0373 100644
--- a/development/build_log_simplifier/messages.ignore
+++ b/development/build_log_simplifier/messages.ignore
@@ -297,8 +297,6 @@
 \- Plugin 'com\.android\.internal\.library': external process started .*
 [0-9]+ problems were found storing the configuration cache, [0-9]+ of which seem unique\.
 \- Task `:[:A-Za-z0-9#\-]+` of type `org\.jetbrains\.kotlin\.gradle\.plugin\.mpp\.[A-Za-z0-9]+`: invocation of 'Task\.project' at execution time is unsupported\.
-# https://youtrack.jetbrains.com/issue/KT-52694/
-\- Task `:[:A-Za-z0-9#\-]+` of type `org\.jetbrains\.kotlin\.gradle\.tooling\.BuildKotlinToolingMetadataTask$FromKotlinExtension`: invocation of 'Task\.project' at execution time is unsupported\.
 See https://docs\.gradle\.org/[0-9]+\.[0-9]+.*/userguide/configuration_cache\.html\#config_cache:requirements:disallowed_types
 [0-9]+ problem was found storing the configuration cache.
 \- Task `:listTaskOutputs` of type `androidx\.build\.ListTaskOutputsTask`: invocation of 'Task\.project' at execution time is unsupported\.
@@ -306,8 +304,6 @@
 \- Plugin class 'androidx\.build\.AndroidXImplPlugin': read system property 'user\.dir'
 See https://docs\.gradle\.org/[0-9]+\.[0-9]+.*/userguide/configuration_cache\.html\#config_cache:requirements:undeclared_sys_prop_read
 See https://docs\.gradle\.org/[0-9]+\.[0-9]+.*/userguide/configuration_cache\.html\#config_cache:requirements:use_project_during_execution
-# https://youtrack.jetbrains.com/issue/KT-52694
-\- Task \`:[:A-Za-z0-9#\-]+` of type \`org\.jetbrains\.kotlin\.gradle\.tooling\.BuildKotlinToolingMetadataTask\$FromKotlinExtension\`\: invocation of \'Task\.project\' at execution time is unsupported\.
 \- Task `[^ ]*validateProperties` of type `[^ ]*ValidatePropertiesTask`: invocation of 'Task\.project' at execution time is unsupported\.
 See https://docs\.gradle\.org/[0-9]+\.[0-9]+.*/userguide/configuration_cache\.html\#config_cache:requirements:task_access
 plus [0-9]+ more problems\. Please see the report for details\.
@@ -1585,84 +1581,10 @@
 C/C\+\+: Packaging for\: (amd\-[0-9]+|armhf\-[0-9]+|x86\-[0-9]+)
 C/C\+\+: Compiling for ARM
 # > Task :glance:glance:reportLibraryMetrics
-Info: Stripped invalid locals information from [0-9]+ methods?\.
+Info: Stripped invalid locals information from [0-9]+ method\.
 Info: Methods with invalid locals information:
 java\.lang\.Object androidx\.glance\.state\.GlanceState\.getDataStore\(android\.content\.Context, androidx\.glance\.state\.GlanceStateDefinition, java\.lang\.String, kotlin\.coroutines\.Continuation\)
 Information in locals\-table is invalid with respect to the stack map table\. Local refers to non\-present stack map type for register: [0-9]+ with constraint OBJECT\.
-# https://youtrack.jetbrains.com/issue/KT-52702/
-void androidx\.compose\.animation\.demos\.visualaid\.EasingFunctionDemoKt\.EasingInfoDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.text\.CoreTextFieldKt\.CoreTextField\(androidx\.compose\.ui\.text\.input\.TextFieldValue, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.ui\.text\.TextStyle, androidx\.compose\.ui\.text\.input\.VisualTransformation, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.foundation\.interaction\.MutableInteractionSource, androidx\.compose\.ui\.graphics\.Brush, boolean, int, androidx\.compose\.ui\.text\.input\.ImeOptions, androidx\.compose\.foundation\.text\.KeyboardActions, boolean, boolean, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int\)
-void androidx\.compose\.material\.ModalBottomSheetKt\.ModalBottomSheetLayout\-BzaUkTc\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material\.ModalBottomSheetState, androidx\.compose\.ui\.graphics\.Shape, float, long, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int\)
-java\.lang\.Object androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.TrieNode\.mutableRetainAll\(androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.TrieNode, int, androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.internal\.DeltaCounter, androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.PersistentHashSetBuilder\)
-void androidx\.compose\.material[0-9]+\.SliderKt\$RangeSlider\$[0-9]+\.invoke\(androidx\.compose\.foundation\.layout\.BoxWithConstraintsScope, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.layout\.MaterialSnippet[0-9]+\.MyBackdrop\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.wear\.compose\.material\.samples\.PickerSampleKt\.OptionChangePicker\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.MutatorMutexSamplesKt\.mutatorMutexStateObject\$ScrollControls\(androidx\.compose\.foundation\.samples\.MutatorMutexSamplesKt\$mutatorMutexStateObject\$ScrollState, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.DrawerSamplesKt\.ModalDrawerSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.samples\.DrawerSamplesKt\.ModalNavigationDrawerSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.ui\.samples\.ComposableSingletons\$FocusAwareInputSamplesKt\$lambda\-[0-9]+\$[0-9]+\.invoke\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.paging\.compose\.demos\.room\.PagingRoomSampleKt\.PagingRoomDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.catalog\.library\.ui\.common\.CatalogScaffoldKt\.CatalogScaffold\(java\.lang\.String, boolean, androidx\.compose\.material[0-9]+\.catalog\.library\.model\.Theme, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int\)
-void androidx\.compose\.material\.catalog\.library\.ui\.common\.CatalogScaffoldKt\.CatalogScaffold\(java\.lang\.String, boolean, androidx\.compose\.material\.catalog\.library\.model\.Theme, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, java\.lang\.String, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int\)
-void androidx\.compose\.animation\.demos\.FancyScrollingDemoKt\.FancyScrollingDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.demos\.relocation\.BringIntoViewAndroidInteropDemoKt\.BringIntoViewAndroidInteropDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.ui\.demos\.keyinput\.InterceptEnterToSendMessageDemoKt\.InterceptEnterToSendMessageDemo\(androidx\.compose\.runtime\.Composer, int\)
-long androidx\.compose\.ui\.input\.pointer\.util\.VelocityTracker\.getImpulseVelocity.*
-java\.lang\.Object androidx\.glance\.state\.GlanceState\.getDataStore\(android\.content\.Context, androidx\.glance\.state\.GlanceStateDefinition, java\.lang\.String, kotlin\.coroutines\.Continuation\)
-Information in locals\-table is invalid with respect to the stack map table\. Local refers to non\-present stack map type for register: [0-9]+ with constraint [\-A-Z]*\.
-void androidx\.compose\.animation\.demos\.visualaid\.EasingFunctionDemoKt\.EasingGraph\(androidx\.compose\.animation\.core\.Easing, androidx\.compose\.ui\.Modifier, kotlinx\.coroutines\.CoroutineScope, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.animation\.demos\.gesture\.FancyScrollingDemoKt\.FancyScrollingDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.animation\.demos\.suspendfun\.SuspendDoubleTapToLikeDemoKt\.SuspendDoubleTapToLikeDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.lazy\.grid\.LazyGridKt\.LazyGrid\(androidx\.compose\.ui\.Modifier, androidx\.compose\.foundation\.lazy\.grid\.LazyGridState, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.foundation\.layout\.PaddingValues, boolean, boolean, androidx\.compose\.foundation\.gestures\.FlingBehavior, boolean, androidx\.compose\.foundation\.layout\.Arrangement\$Vertical, androidx\.compose\.foundation\.layout\.Arrangement\$Horizontal, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int\)
-void androidx\.compose\.foundation\.lazy\.LazyListKt\.LazyList\(androidx\.compose\.ui\.Modifier, androidx\.compose\.foundation\.lazy\.LazyListState, androidx\.compose\.foundation\.layout\.PaddingValues, boolean, boolean, androidx\.compose\.foundation\.gestures\.FlingBehavior, boolean, androidx\.compose\.ui\.Alignment\$Horizontal, androidx\.compose\.foundation\.layout\.Arrangement\$Vertical, androidx\.compose\.ui\.Alignment\$Vertical, androidx\.compose\.foundation\.layout\.Arrangement\$Horizontal, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int\)
-void androidx\.compose\.material\.BackdropScaffoldKt\$BackdropScaffold\$[0-9]+\.invoke\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.SliderKt\$Slider\$[0-9]+\.invoke\(androidx\.compose\.foundation\.layout\.BoxWithConstraintsScope, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.TabRowKt\$ScrollableTabRow\$[0-9]+\.invoke\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.SliderKt\$RangeSlider\$[0-9]+\.invoke\(androidx\.compose\.foundation\.layout\.BoxWithConstraintsScope, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.DrawerKt\.ModalDrawer\-Gs[0-9]+lGvM\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material\.DrawerState, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.material\.DrawerKt\.BottomDrawer\-Gs[0-9]+lGvM\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material\.BottomDrawerState, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.material\.BottomSheetScaffoldKt\.BottomSheetScaffold\-bGncdBI\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material\.BottomSheetScaffoldState, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, kotlin\.jvm\.functions\.Function[0-9]+, int, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, float, kotlin\.jvm\.functions\.Function[0-9]+, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, long, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int, int, int\)
-java\.lang\.Object androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.TrieNode\.mutableRemoveAll\(androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.TrieNode, int, androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.internal\.DeltaCounter, androidx\.compose\.runtime\.external\.kotlinx\.collections\.immutable\.implementations\.immutableSet\.PersistentHashSetBuilder\)
-void androidx\.compose\.material[0-9]+\.NavigationDrawerKt\.ModalNavigationDrawer\-Gs[0-9]+lGvM\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material[0-9]+\.DrawerState, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.material[0-9]+\.SwitchKt\.Switch\(boolean, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, kotlin\.jvm\.functions\.Function[0-9]+, boolean, androidx\.compose\.foundation\.interaction\.MutableInteractionSource, androidx\.compose\.material[0-9]+\.SwitchColors, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.material[0-9]+\.NavigationDrawerKt\.DismissibleNavigationDrawer\-ZEC[0-9]+aPw\(kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.ui\.Modifier, androidx\.compose\.material[0-9]+\.DrawerState, boolean, androidx\.compose\.ui\.graphics\.Shape, float, long, long, kotlin\.jvm\.functions\.Function[0-9]+, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.material[0-9]+\.SliderKt\$Slider\$[0-9]+\.invoke\(androidx\.compose\.foundation\.layout\.BoxWithConstraintsScope, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.TabRowKt\$ScrollableTabRow\$[0-9]+\.invoke\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.layout\.MaterialSnippet[0-9]+\.MyDrawer\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.layout\.MaterialSnippet[0-9]+\.MyBottomSheet\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.layout\.MaterialSnippet[0-9]+\.MySnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.state\.ComposableSingletons\$StateKt\$lambda\-[0-9]+\$[0-9]+\.invoke\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.sideeffects\.SideEffectsSnippet[0-9]+\.MoviesScreen\(androidx\.compose\.material\.ScaffoldState, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.integration\.docs\.kotlin\.KotlinKt\.KotlinSnippet[0-9]+\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.integration\.docs\.lists\.ListsSnippetsControllingScrollPosition\.MessageList\(java\.util\.List, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.wear\.compose\.material\.samples\.ScalingLazyColumnSampleKt\.ScalingLazyColumnEdgeAnchoredAndAnimatedScrollTo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.BringIntoViewSamplesKt\.BringIntoViewSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.BringIntoViewSamplesKt\.BringPartOfComposableIntoViewSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.TransformableSampleKt\.TransformableSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.OverscrollSampleKt\.OverscrollSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.samples\.ScrollerSamplesKt\.ControlledScrollableRowSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.DrawerSamplesKt\.BottomDrawerSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.ScaffoldSamplesKt\.SimpleScaffoldWithTopBar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.ScaffoldSamplesKt\.ScaffoldWithBottomBarAndCutout\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.ScaffoldSamplesKt\.ScaffoldWithSimpleSnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.ScaffoldSamplesKt\.ScaffoldWithCustomSnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.ModalBottomSheetSamplesKt\.ModalBottomSheetSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.BackdropScaffoldSamplesKt\.BackdropScaffoldSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material\.samples\.BottomSheetScaffoldSamplesKt\.BottomSheetScaffoldSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.samples\.DrawerSamplesKt\.DismissibleNavigationDrawerSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.samples\.ScaffoldSamplesKt\.ScaffoldWithSimpleSnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.samples\.ScaffoldSamplesKt\.ScaffoldWithIndefiniteSnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.material[0-9]+\.samples\.ScaffoldSamplesKt\.ScaffoldWithCustomSnackbar\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.ui\.samples\.FocusAwareInputSamplesKt\.RotaryEventSample\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.animation\.demos\.SuspendDoubleTapToLikeDemoKt\.SuspendDoubleTapToLikeDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.animation\.demos\.EasingFunctionDemoKt\.EasingInfoDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.animation\.demos\.EasingFunctionDemoKt\.EasingGraph\(androidx\.compose\.animation\.core\.Easing, androidx\.compose\.ui\.Modifier, kotlinx\.coroutines\.CoroutineScope, androidx\.compose\.runtime\.Composer, int, int\)
-void androidx\.compose\.foundation\.demos\.relocation\.RequestRectangleOnScreenDemoKt\.RequestRectangleOnScreenDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.demos\.relocation\.BringIntoViewDemoKt\.BringIntoViewDemo\(androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.demos\.relocation\.BringNestedIntoViewDemoKt\.ControlGrid\(int, int, java\.util\.List, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.foundation\.demos\.ListDemosKt\.ListHoistedStateDemo\(androidx\.compose\.runtime\.Composer, int\)
-androidx\.compose\.ui\.Modifier androidx\.compose\.ui\.demos\.modifier\.CommunicatingModifierDemoKt\$CommunicatingModifierDemo\$clickToRead\$[0-9]+\.invoke\(androidx\.compose\.ui\.Modifier, androidx\.compose\.runtime\.Composer, int\)
-void androidx\.compose\.ui\.demos\.focus\.ComposableSingletons\$LazyListChildFocusDemosKt\$lambda\-[0-9]+\$[0-9]+\.invoke\(androidx\.compose\.foundation\.lazy\.LazyItemScope, androidx\.compose\.runtime\.Composer, int\)
 Info: Some warnings are typically a sign of using an outdated Java toolchain\. To fix, recompile the source with an updated toolchain\.
 # > Task :compose:ui:ui-inspection:buildCMakeRelWithDebInfo[arm64-v8a]
 C/C\+\+: ninja: warning: bad deps log signature or version; starting over
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e5bafaa..d40b1dd 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -30,11 +30,11 @@
 guavaJre = "31.1-jre"
 hilt = "2.42"
 incap = "0.2"
-kotlin = "1.7.0"
-kotlinNative = "1.7.0"
+kotlin = "1.6.21"
+kotlinNative = "1.6.21"
 kotlinCompileTesting = "1.4.1"
 kotlinCoroutines = "1.6.1"
-ksp = "1.7.0-1.0.6"
+ksp = "1.6.21-1.0.5"
 ktlint = "0.46.0-20220520.192227-74"
 leakcanary = "2.8.1"
 metalava = "1.0.0-alpha06"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index b8fa9d5..4f56189 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -232,7 +232,6 @@
          <trusted-key id="6f538074ccebf35f28af9b066a0975f8b1127b83">
             <trusting group="org.jetbrains.kotlin"/>
             <trusting group="org.jetbrains.kotlin.jvm"/>
-            <trusting group="org.jetbrains.kotlin.plugin.serialization"/>
          </trusted-key>
          <trusted-key id="6f656b7f6bfb238d38acf81f3c27d97b0c83a85c" group="com.google.errorprone"/>
          <trusted-key id="6f7e5acbcd02db60dfd232e45e1f79a7c298661e">
@@ -1237,22 +1236,10 @@
          </artifact>
       </component>
       <!-- Unsigned, b/227204920 -->
-      <component group="" name="kotlin-native-prebuilt-linux-x86_64" version="1.7.0">
-         <artifact name="kotlin-native-prebuilt-linux-x86_64-1.7.0.tar.gz">
-            <sha256 value="3790ab4de2bbc716c0842fdff7798145923aa80489390c88eb3a08bb945a0a37" origin="Hand-built using sha256sum kotlin-native-prebuilt-linux-x86_64-1.7.0.tar.gz"/>
-         </artifact>
-      </component>
-
-      <component group="" name="kotlin-native-prebuilt-macos-aarch64" version="1.7.0">
-         <artifact name="kotlin-native-prebuilt-macos-aarch64-1.7.0.tar.gz">
-            <sha256 value="9f181b9ffccf77281a5f894208192421e2ad8bcb1da50ffd153a9f426faa1084" origin="Hand-built using sha256sum kotlin-native-prebuilt-macos-aarch64-1.7.0.tar.gz"/>
-         </artifact>
-      </component>
-
-      <component group="" name="kotlin-native-prebuilt-macos-x86_64" version="1.7.0">
-         <artifact name="kotlin-native-prebuilt-macos-x86_64-1.7.0.tar.gz">
-            <sha256 value="9eef3dc4726bd604ab685a44baaaba076585a8b92512898b53aebb071d770115" origin="Hand-built using sha256sum kotlin-native-prebuilt-macos-x86_64-1.7.0.tar.gz"/>
-         </artifact>
+      <component group="" name="kotlin-native-prebuilt-linux-x86_64" version="1.6.21">
+        <artifact name="kotlin-native-prebuilt-linux-x86_64-1.6.21.tar.gz">
+          <sha256 value="803226b45a60ceac9eacc6b554d38d50d174b860abce2daf772ec4c8529399ba" origin="Hand-built using sha256sum kotlin-native-prebuilt-linux-x86_64-1.6.21.tar.gz"/>
+        </artifact>
       </component>
    </components>
 </verification-metadata>
diff --git a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/DeleteMe.kt b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/EntityRowAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/EntityRowAdapter.kt
index 5b79e64..6e9a0d7 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/EntityRowAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/EntityRowAdapter.kt
@@ -62,9 +62,9 @@
     }
 
     override fun onCursorReady(
+        indices: List<ColumnIndexVar>,
         cursorVarName: String,
-        scope: CodeGenScope,
-        indices: List<ColumnIndexVar>
+        scope: CodeGenScope
     ) {
         // Check if given indices are the default ones, i.e. onCursorReady() was called without
         // an indices argument and these are the default parameter ones, which means a wrapped
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
index ffff340f..57c0009 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
@@ -106,9 +106,9 @@
     }
 
     override fun onCursorReady(
+        indices: List<ColumnIndexVar>,
         cursorVarName: String,
-        scope: CodeGenScope,
-        indices: List<ColumnIndexVar>
+        scope: CodeGenScope
     ) {
         fieldsWithIndices = indices.map { (column, indexVar) ->
             val field = mapping.matchedFields.first { it.columnName == column }
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/RowAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/RowAdapter.kt
index be467f2..69f0f82 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/RowAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/RowAdapter.kt
@@ -35,10 +35,10 @@
      * @param cursorVarName the name of the cursor local variable
      */
     open fun onCursorReady(
-        cursorVarName: String,
-        scope: CodeGenScope,
         indices: List<ColumnIndexVar> =
             getDefaultIndexAdapter().apply { onCursorReady(cursorVarName, scope) }.getIndexVars(),
+        cursorVarName: String,
+        scope: CodeGenScope
     ) {
     }
 
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/SingleNamedColumnRowAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/SingleNamedColumnRowAdapter.kt
index a4281bf..6b19d9a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/SingleNamedColumnRowAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/SingleNamedColumnRowAdapter.kt
@@ -65,9 +65,9 @@
     private lateinit var columnIndexVar: ColumnIndexVar
 
     override fun onCursorReady(
+        indices: List<ColumnIndexVar>,
         cursorVarName: String,
-        scope: CodeGenScope,
-        indices: List<ColumnIndexVar>
+        scope: CodeGenScope
     ) {
         columnIndexVar = indices.singleOrNull()
             ?: error("Expected a single resolved index var but got ${indices.size}")
diff --git a/security/security-identity-credential/src/main/java/androidx/security/DeleteMe.kt b/security/security-identity-credential/src/main/java/androidx/security/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/security/security-identity-credential/src/main/java/androidx/security/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/transition/transition/src/main/java/androidx/transition/DeleteMe.kt b/transition/transition/src/main/java/androidx/transition/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/transition/transition/src/main/java/androidx/transition/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/viewpager2/viewpager2/src/main/java/androidx/viewpager2/DeleteMe.kt b/viewpager2/viewpager2/src/main/java/androidx/viewpager2/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/viewpager2/viewpager2/src/main/java/androidx/viewpager2/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/DeleteMe.kt b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137
diff --git a/wear/wear/src/main/java/androidx/wear/DeleteMe.kt b/wear/wear/src/main/java/androidx/wear/DeleteMe.kt
deleted file mode 100644
index 38f8b7a..0000000
--- a/wear/wear/src/main/java/androidx/wear/DeleteMe.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// This file exists to trick AGP/lint to work around b/234865137