From 9a9e7a7b43a9f4d6a469e6fa77b31ed6d06dfabe Mon Sep 17 00:00:00 2001 From: Alec Strong Date: Mon, 3 Oct 2022 18:42:11 -0400 Subject: [PATCH] Hfhbd/warnings (#3558) * Fix deprecated String lowercase/uppercase functions * Fix deprecated String capitalize functions * Fix other warnings * Fix imports Co-authored-by: hfhbd --- .../app/cash/sqldelight/dialects/hsql/HsqlTypeResolver.kt | 2 +- .../app/cash/sqldelight/dialects/mysql/MySqlTypeResolver.kt | 2 +- .../dialects/postgresql/PostgreSqlTypeResolver.kt | 2 +- .../sqldelight/dialects/sqlite_3_18/SqliteTypeResolver.kt | 2 +- .../sqlite_3_18/grammar/mixins/StatementValidatorMixin.kt | 3 +-- .../kotlin/app/cash/sqldelight/coroutines/FlowExtensions.kt | 6 ------ .../src/main/kotlin/app/cash/sqldelight/core/StringUtil.kt | 5 +++++ .../cash/sqldelight/core/compiler/ExecuteQueryGenerator.kt | 1 + .../sqldelight/core/compiler/QueryInterfaceGenerator.kt | 1 + .../app/cash/sqldelight/core/compiler/SqlDelightCompiler.kt | 1 + .../sqldelight/core/compiler/TableInterfaceGenerator.kt | 1 + .../core/compiler/integration/TableIntegration.kt | 1 + .../cash/sqldelight/core/compiler/model/BindableQuery.kt | 1 + .../app/cash/sqldelight/core/compiler/model/NamedQuery.kt | 2 ++ .../main/kotlin/app/cash/sqldelight/core/lang/Constants.kt | 2 ++ .../app/cash/sqldelight/core/lang/psi/ColumnTypeMixin.kt | 1 + .../kotlin/app/cash/sqldelight/core/lang/util/Arguments.kt | 2 +- .../kotlin/app/cash/sqldelight/core/lang/util/ExprUtil.kt | 2 +- .../kotlin/app/cash/sqldelight/core/lang/util/TreeUtil.kt | 2 +- .../kotlin/app/cash/sqldelight/gradle/SqlDelightDatabase.kt | 1 + .../intellij/SqlDelightClassNameElementAnnotator.kt | 2 +- .../sqldelight/intellij/SqlDelightCopyPasteProcessor.kt | 4 ++-- .../sqldelight/intellij/lang/SqlDelightHighlightVisitor.kt | 2 +- 23 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/StringUtil.kt diff --git a/dialects/hsql/src/main/kotlin/app/cash/sqldelight/dialects/hsql/HsqlTypeResolver.kt b/dialects/hsql/src/main/kotlin/app/cash/sqldelight/dialects/hsql/HsqlTypeResolver.kt index 5753d9d4f56..c4c497ed3db 100644 --- a/dialects/hsql/src/main/kotlin/app/cash/sqldelight/dialects/hsql/HsqlTypeResolver.kt +++ b/dialects/hsql/src/main/kotlin/app/cash/sqldelight/dialects/hsql/HsqlTypeResolver.kt @@ -41,7 +41,7 @@ class HsqlTypeResolver(private val parentResolver: TypeResolver) : TypeResolver return functionExpr.hsqlFunctionType() ?: parentResolver.functionType(functionExpr) } - private fun SqlFunctionExpr.hsqlFunctionType() = when (functionName.text.toLowerCase()) { + private fun SqlFunctionExpr.hsqlFunctionType() = when (functionName.text.lowercase()) { "coalesce", "ifnull" -> encapsulatingType(exprList, TINY_INT, SMALL_INT, HsqlType.INTEGER, INTEGER, BIG_INT, REAL, TEXT, BLOB) "max" -> encapsulatingType(exprList, TINY_INT, SMALL_INT, HsqlType.INTEGER, INTEGER, BIG_INT, REAL, TEXT, BLOB).asNullable() "min" -> encapsulatingType(exprList, BLOB, TEXT, TINY_INT, SMALL_INT, INTEGER, HsqlType.INTEGER, BIG_INT, REAL).asNullable() diff --git a/dialects/mysql/src/main/kotlin/app/cash/sqldelight/dialects/mysql/MySqlTypeResolver.kt b/dialects/mysql/src/main/kotlin/app/cash/sqldelight/dialects/mysql/MySqlTypeResolver.kt index be949af4125..7557320592c 100644 --- a/dialects/mysql/src/main/kotlin/app/cash/sqldelight/dialects/mysql/MySqlTypeResolver.kt +++ b/dialects/mysql/src/main/kotlin/app/cash/sqldelight/dialects/mysql/MySqlTypeResolver.kt @@ -50,7 +50,7 @@ class MySqlTypeResolver( return functionExpr.mySqlFunctionType() ?: parentResolver.functionType(functionExpr) } - private fun SqlFunctionExpr.mySqlFunctionType() = when (functionName.text.toLowerCase()) { + private fun SqlFunctionExpr.mySqlFunctionType() = when (functionName.text.lowercase()) { "greatest" -> encapsulatingType(exprList, INTEGER, REAL, TEXT, BLOB) "concat" -> encapsulatingType(exprList, TEXT) "last_insert_id" -> IntermediateType(INTEGER) diff --git a/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt b/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt index 08ee34bcfaf..28d641f6418 100644 --- a/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt +++ b/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt @@ -78,7 +78,7 @@ class PostgreSqlTypeResolver(private val parentResolver: TypeResolver) : TypeRes return functionExpr.postgreSqlFunctionType() ?: parentResolver.functionType(functionExpr) } - private fun SqlFunctionExpr.postgreSqlFunctionType() = when (functionName.text.toLowerCase()) { + private fun SqlFunctionExpr.postgreSqlFunctionType() = when (functionName.text.lowercase()) { "greatest" -> encapsulatingType(exprList, PrimitiveType.INTEGER, REAL, TEXT, BLOB) "concat" -> encapsulatingType(exprList, TEXT) "substring" -> IntermediateType(TEXT).nullableIf(resolvedType(exprList[0]).javaType.isNullable) diff --git a/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/SqliteTypeResolver.kt b/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/SqliteTypeResolver.kt index 391d7314d93..88e4f7e126d 100644 --- a/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/SqliteTypeResolver.kt +++ b/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/SqliteTypeResolver.kt @@ -28,7 +28,7 @@ open class SqliteTypeResolver(private val parentResolver: TypeResolver) : TypeRe } } - private fun SqlFunctionExpr.sqliteFunctionType() = when (functionName.text.toLowerCase()) { + private fun SqlFunctionExpr.sqliteFunctionType() = when (functionName.text.lowercase()) { "printf" -> IntermediateType(TEXT).nullableIf(resolvedType(exprList[0]).javaType.isNullable) "datetime", "julianday", "strftime", "sqlite_compileoption_get", "sqlite_source_id", "sqlite_version" -> { IntermediateType(TEXT) diff --git a/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/grammar/mixins/StatementValidatorMixin.kt b/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/grammar/mixins/StatementValidatorMixin.kt index f66cc2fabe2..dce98816195 100644 --- a/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/grammar/mixins/StatementValidatorMixin.kt +++ b/dialects/sqlite-3-18/src/main/kotlin/app/cash/sqldelight/dialects/sqlite_3_18/grammar/mixins/StatementValidatorMixin.kt @@ -7,7 +7,6 @@ import com.alecstrong.sql.psi.core.psi.SqlTypes import com.alecstrong.sql.psi.core.psi.impl.SqlStmtImpl import com.intellij.lang.ASTNode import com.intellij.psi.tree.TokenSet -import java.util.Locale open class StatementValidatorMixin(node: ASTNode) : SqlStmtImpl(node) { private fun SqlCompositeElement.annotateReservedKeywords(annotationHolder: SqlAnnotationHolder) { @@ -16,7 +15,7 @@ open class StatementValidatorMixin(node: ASTNode) : SqlStmtImpl(node) { it.annotateReservedKeywords(annotationHolder) } node.getChildren(TokenSet.create(SqlTypes.ID)).forEach { - if (it.text.toUpperCase(Locale.ROOT) in invalidIds) { + if (it.text.uppercase() in invalidIds) { annotationHolder.createErrorAnnotation(this, "Reserved keyword in sqlite") } } diff --git a/extensions/coroutines-extensions/src/commonMain/kotlin/app/cash/sqldelight/coroutines/FlowExtensions.kt b/extensions/coroutines-extensions/src/commonMain/kotlin/app/cash/sqldelight/coroutines/FlowExtensions.kt index f1c3a0f8986..581a2eed582 100644 --- a/extensions/coroutines-extensions/src/commonMain/kotlin/app/cash/sqldelight/coroutines/FlowExtensions.kt +++ b/extensions/coroutines-extensions/src/commonMain/kotlin/app/cash/sqldelight/coroutines/FlowExtensions.kt @@ -31,7 +31,6 @@ import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.withContext import kotlin.coroutines.CoroutineContext import kotlin.jvm.JvmName -import kotlin.jvm.JvmOverloads /** Turns this [Query] into a [Flow] which emits whenever the underlying result set changes. */ @JvmName("toFlow") @@ -55,7 +54,6 @@ fun Query.asFlow(): Flow> = flow { } } -@JvmOverloads fun Flow>.mapToOne( context: CoroutineContext, ): Flow = map { @@ -64,7 +62,6 @@ fun Flow>.mapToOne( } } -@JvmOverloads fun Flow>.mapToOneOrDefault( defaultValue: T, context: CoroutineContext, @@ -74,7 +71,6 @@ fun Flow>.mapToOneOrDefault( } } -@JvmOverloads fun Flow>.mapToOneOrNull( context: CoroutineContext, ): Flow = map { @@ -83,7 +79,6 @@ fun Flow>.mapToOneOrNull( } } -@JvmOverloads fun Flow>.mapToOneNotNull( context: CoroutineContext, ): Flow = mapNotNull { @@ -92,7 +87,6 @@ fun Flow>.mapToOneNotNull( } } -@JvmOverloads fun Flow>.mapToList( context: CoroutineContext, ): Flow> = map { diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/StringUtil.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/StringUtil.kt new file mode 100644 index 00000000000..2b29c0a5fdb --- /dev/null +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/StringUtil.kt @@ -0,0 +1,5 @@ +package app.cash.sqldelight.core + +fun String.capitalize() = replaceFirstChar { if (it.isLowerCase()) it.titlecaseChar() else it } + +fun String.decapitalize() = replaceFirstChar { if (it.isLowerCase()) it else it.lowercaseChar() } diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/ExecuteQueryGenerator.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/ExecuteQueryGenerator.kt index aa5537a2bf8..391b485c038 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/ExecuteQueryGenerator.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/ExecuteQueryGenerator.kt @@ -1,5 +1,6 @@ package app.cash.sqldelight.core.compiler +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.model.NamedExecute import app.cash.sqldelight.core.compiler.model.NamedMutator import app.cash.sqldelight.core.lang.argumentType diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/QueryInterfaceGenerator.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/QueryInterfaceGenerator.kt index 40440af3052..b846547ab4d 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/QueryInterfaceGenerator.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/QueryInterfaceGenerator.kt @@ -15,6 +15,7 @@ */ package app.cash.sqldelight.core.compiler +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.model.NamedQuery import com.squareup.kotlinpoet.FunSpec import com.squareup.kotlinpoet.KModifier.DATA diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/SqlDelightCompiler.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/SqlDelightCompiler.kt index 87f8a31798f..c9d78f24214 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/SqlDelightCompiler.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/SqlDelightCompiler.kt @@ -16,6 +16,7 @@ package app.cash.sqldelight.core.compiler import app.cash.sqldelight.core.SqlDelightFileIndex +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.model.NamedQuery import app.cash.sqldelight.core.compiler.model.SelectQueryable import app.cash.sqldelight.core.lang.MigrationFile diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/TableInterfaceGenerator.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/TableInterfaceGenerator.kt index 03adbd93e91..daa637a9257 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/TableInterfaceGenerator.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/TableInterfaceGenerator.kt @@ -15,6 +15,7 @@ */ package app.cash.sqldelight.core.compiler +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.SqlDelightCompiler.allocateName import app.cash.sqldelight.core.compiler.integration.javadocText import app.cash.sqldelight.core.lang.ADAPTER_NAME diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/integration/TableIntegration.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/integration/TableIntegration.kt index 3a557afca0c..9dd6d576d44 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/integration/TableIntegration.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/integration/TableIntegration.kt @@ -1,5 +1,6 @@ package app.cash.sqldelight.core.compiler.integration +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.SqlDelightCompiler import app.cash.sqldelight.core.lang.ADAPTER_NAME import app.cash.sqldelight.core.lang.SqlDelightFile diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/BindableQuery.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/BindableQuery.kt index b7de29ff05e..cf079f086c4 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/BindableQuery.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/BindableQuery.kt @@ -15,6 +15,7 @@ */ package app.cash.sqldelight.core.compiler.model +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.SqlDelightCompiler.allocateName import app.cash.sqldelight.core.lang.acceptsTableInterface import app.cash.sqldelight.core.lang.psi.ColumnTypeMixin.ValueTypeDialectType diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/NamedQuery.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/NamedQuery.kt index d8c5cce8ab5..e7be3768be6 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/NamedQuery.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/compiler/model/NamedQuery.kt @@ -15,7 +15,9 @@ */ package app.cash.sqldelight.core.compiler.model +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.SqlDelightCompiler.allocateName +import app.cash.sqldelight.core.decapitalize import app.cash.sqldelight.core.lang.SqlDelightQueriesFile import app.cash.sqldelight.core.lang.cursorGetter import app.cash.sqldelight.core.lang.parentAdapter diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/Constants.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/Constants.kt index d637a18e106..28b4a1cd290 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/Constants.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/Constants.kt @@ -1,5 +1,7 @@ package app.cash.sqldelight.core.lang +import app.cash.sqldelight.core.capitalize +import app.cash.sqldelight.core.decapitalize import com.intellij.openapi.vfs.VirtualFile import com.squareup.kotlinpoet.ClassName import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/psi/ColumnTypeMixin.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/psi/ColumnTypeMixin.kt index 2de1f80245b..5f244e3cac6 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/psi/ColumnTypeMixin.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/psi/ColumnTypeMixin.kt @@ -15,6 +15,7 @@ */ package app.cash.sqldelight.core.lang.psi +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.compiler.SqlDelightCompiler.allocateName import app.cash.sqldelight.core.lang.types.typeResolver import app.cash.sqldelight.core.lang.util.parentOfType diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/Arguments.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/Arguments.kt index 0a26a1ab9a2..48fca4eca5c 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/Arguments.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/Arguments.kt @@ -118,7 +118,7 @@ internal fun SqlExpr.argumentType(argument: SqlExpr): IntermediateType { } is SqlFunctionExpr -> { - fun argumentType(expr: SqlExpr) = when (functionName.text.toLowerCase()) { + fun argumentType(expr: SqlExpr) = when (functionName.text.lowercase()) { "instr" -> when (expr) { exprList.getOrNull(1) -> IntermediateType(TEXT) else -> typeResolver.functionType(this) diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/ExprUtil.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/ExprUtil.kt index d65cbb59a7a..d8b2614c0a0 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/ExprUtil.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/ExprUtil.kt @@ -90,7 +90,7 @@ internal object AnsiSqlTypeResolver : TypeResolver { } } - private fun SqlFunctionExpr.typeReturned() = when (functionName.text.toLowerCase()) { + private fun SqlFunctionExpr.typeReturned() = when (functionName.text.lowercase()) { "round" -> { // Single arg round function returns an int. Otherwise real. if (exprList.size == 1) { diff --git a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/TreeUtil.kt b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/TreeUtil.kt index 2b776817611..9342bbf2f0f 100644 --- a/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/TreeUtil.kt +++ b/sqldelight-compiler/src/main/kotlin/app/cash/sqldelight/core/lang/util/TreeUtil.kt @@ -168,7 +168,7 @@ private fun PsiElement.rangesToReplace(): List> { second = "", ), ) - } else if (this is SqlModuleArgument && moduleArgumentDef?.columnDef != null && (parent as SqlCreateVirtualTableStmt).moduleName?.text?.toLowerCase() == "fts5") { + } else if (this is SqlModuleArgument && moduleArgumentDef?.columnDef != null && (parent as SqlCreateVirtualTableStmt).moduleName?.text?.lowercase() == "fts5") { val columnDef = moduleArgumentDef!!.columnDef!! // If there is a space at the end of the constraints, preserve it. val lengthModifier = if (columnDef.columnConstraintList.isNotEmpty() && columnDef.columnConstraintList.last()?.lastChild?.prevSibling is PsiWhiteSpace) 1 else 0 diff --git a/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/SqlDelightDatabase.kt b/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/SqlDelightDatabase.kt index eaefbe2d131..becec2f7e4f 100644 --- a/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/SqlDelightDatabase.kt +++ b/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/SqlDelightDatabase.kt @@ -1,6 +1,7 @@ package app.cash.sqldelight.gradle import app.cash.sqldelight.VERSION +import app.cash.sqldelight.core.capitalize import app.cash.sqldelight.core.lang.MigrationFileType import app.cash.sqldelight.core.lang.SqlDelightFileType import app.cash.sqldelight.gradle.kotlin.Source diff --git a/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightClassNameElementAnnotator.kt b/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightClassNameElementAnnotator.kt index 97d8a09efe1..6bb6d2aa9b0 100644 --- a/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightClassNameElementAnnotator.kt +++ b/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightClassNameElementAnnotator.kt @@ -82,7 +82,7 @@ internal class SqlDelightClassNameElementAnnotator : Annotator { ): PsiElement { val elementText = javaTypeMixin.text val className = classes.map { clazz -> findMissingNestedClassName(clazz, elementText) } - .maxBy { it.length } + .maxByOrNull { it.length } ?.substringBefore(".") ?: return javaTypeMixin.firstChild return javaTypeMixin.children.first { it.textMatches(className) } } diff --git a/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightCopyPasteProcessor.kt b/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightCopyPasteProcessor.kt index 43ed22d0192..4ec720bbd50 100644 --- a/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightCopyPasteProcessor.kt +++ b/sqldelight-idea-plugin/src/main/kotlin/app/cash/sqldelight/intellij/SqlDelightCopyPasteProcessor.kt @@ -100,7 +100,7 @@ class SqlDelightCopyPasteProcessor : CopyPastePostProcessor