[FIR] Refactor the default messages presence checking

Forbid calling `checkMissingMessages` accidentally
outside tests.

Checking Parcelize default messages inside a test.
This commit is contained in:
Nikolay Lunyak
2023-04-04 17:54:50 +03:00
committed by Space Team
parent 73f8c984a1
commit 20786bb35a
6 changed files with 22 additions and 5 deletions
+1
View File
@@ -20,6 +20,7 @@ dependencies {
testCompileOnly(project(":kotlin-test:kotlin-test-jvm")) testCompileOnly(project(":kotlin-test:kotlin-test-jvm"))
testCompileOnly(project(":kotlin-test:kotlin-test-junit")) testCompileOnly(project(":kotlin-test:kotlin-test-junit"))
testApi(projectTests(":compiler:tests-common")) testApi(projectTests(":compiler:tests-common"))
testApi(projectTests(":compiler:tests-common-new"))
testApi(projectTests(":compiler:fir:raw-fir:psi2fir")) testApi(projectTests(":compiler:fir:raw-fir:psi2fir"))
testApi(projectTests(":compiler:fir:raw-fir:light-tree2fir")) testApi(projectTests(":compiler:fir:raw-fir:light-tree2fir"))
testApi(projectTests(":compiler:fir:analysis-tests:legacy-fir-tests")) testApi(projectTests(":compiler:fir:analysis-tests:legacy-fir-tests"))
@@ -13,6 +13,7 @@ dependencies {
testImplementation(project(":compiler:backend.jvm.entrypoint")) testImplementation(project(":compiler:backend.jvm.entrypoint"))
testImplementation(project(":compiler:backend.jvm.lower")) testImplementation(project(":compiler:backend.jvm.lower"))
testImplementation(intellijCore()) testImplementation(intellijCore())
testImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
testRuntimeOnly(project(":core:descriptors.runtime")) testRuntimeOnly(project(":core:descriptors.runtime"))
@@ -3,7 +3,7 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
package org.jetbrains.kotlin.fir.analysis.diagnostics package org.jetbrains.kotlin.test.utils
import org.jetbrains.kotlin.diagnostics.AbstractKtDiagnosticFactory import org.jetbrains.kotlin.diagnostics.AbstractKtDiagnosticFactory
import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactoryForDeprecation import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactoryForDeprecation
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.checkers
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrorsDefaultMessages import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrorsDefaultMessages
import org.jetbrains.kotlin.fir.analysis.diagnostics.checkMissingMessages
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrorsDefaultMessages import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrorsDefaultMessages
import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors
@@ -16,6 +15,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrors
import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrorsDefaultMessages import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrorsDefaultMessages
import org.jetbrains.kotlin.fir.builder.FirSyntaxErrors import org.jetbrains.kotlin.fir.builder.FirSyntaxErrors
import org.jetbrains.kotlin.fir.builder.FirSyntaxErrorsDefaultMessages import org.jetbrains.kotlin.fir.builder.FirSyntaxErrorsDefaultMessages
import org.jetbrains.kotlin.test.utils.checkMissingMessages
import org.junit.Test import org.junit.Test
class DefaultMessagesTest { class DefaultMessagesTest {
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactoryToRendererMap
import org.jetbrains.kotlin.diagnostics.rendering.BaseDiagnosticRendererFactory import org.jetbrains.kotlin.diagnostics.rendering.BaseDiagnosticRendererFactory
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.RENDER_TYPE import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.RENDER_TYPE
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.RENDER_CLASS_OR_OBJECT import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers.RENDER_CLASS_OR_OBJECT
import org.jetbrains.kotlin.fir.analysis.diagnostics.checkMissingMessages
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.CLASS_SHOULD_BE_PARCELIZE import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.CLASS_SHOULD_BE_PARCELIZE
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.CREATOR_DEFINITION_IS_NOT_ALLOWED import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.CREATOR_DEFINITION_IS_NOT_ALLOWED
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.DEPRECATED_ANNOTATION import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.DEPRECATED_ANNOTATION
@@ -171,7 +170,5 @@ object KtDefaultErrorMessagesParcelize : BaseDiagnosticRendererFactory() {
DEPRECATED_PARCELER, DEPRECATED_PARCELER,
"'kotlinx.android.parcel.Parceler' is deprecated. Use 'kotlinx.parcelize.Parceler' instead" "'kotlinx.android.parcel.Parceler' is deprecated. Use 'kotlinx.parcelize.Parceler' instead"
) )
map.checkMissingMessages(KtErrorsParcelize)
} }
} }
@@ -0,0 +1,18 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.parcelize.test
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtDefaultErrorMessagesParcelize
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize
import org.jetbrains.kotlin.test.utils.checkMissingMessages
import org.junit.jupiter.api.Test
class ParcelizeDefaultMessagesTest {
@Test
fun ensureAllMessagesPresent() {
KtDefaultErrorMessagesParcelize.MAP.checkMissingMessages(KtErrorsParcelize)
}
}