From 7545472dd3b67d2ac5eb8024054e3e6ff7795bf6 Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Fri, 24 Mar 2023 08:32:25 +0200 Subject: [PATCH] [FIR] Validate K2 diagnostic messages as a unit-test --- .../js/FirJsErrorsDefaultMessages.kt | 2 -- .../jvm/FirJvmErrorsDefaultMessages.kt | 2 -- .../native/FirNativeErrorsDefaultMessages.kt | 2 -- .../diagnostics/FirErrorsDefaultMessages.kt | 2 -- .../kotlin/checkers/DefaultMessagesTest.kt | 30 +++++++++++++++++++ 5 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 compiler/tests/org/jetbrains/kotlin/checkers/DefaultMessagesTest.kt diff --git a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/diagnostics/js/FirJsErrorsDefaultMessages.kt b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/diagnostics/js/FirJsErrorsDefaultMessages.kt index 8e5446f6838..d63061438c7 100644 --- a/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/diagnostics/js/FirJsErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/checkers.js/src/org/jetbrains/kotlin/fir/analysis/diagnostics/js/FirJsErrorsDefaultMessages.kt @@ -184,7 +184,5 @@ object FirJsErrorsDefaultMessages : BaseDiagnosticRendererFactory() { "Exported declaration contains non-consumable identifier '${0}', that can't be represented inside TS definitions and ESM", CommonRenderers.STRING, ) - - map.checkMissingMessages(FirJsErrors) } } \ No newline at end of file diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt index 8bd08bc1d3c..0e0b72081de 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/diagnostics/jvm/FirJvmErrorsDefaultMessages.kt @@ -301,7 +301,5 @@ object FirJvmErrorsDefaultMessages : BaseDiagnosticRendererFactory() { TO_STRING, TO_STRING, ) - - map.checkMissingMessages(FirJvmErrors) } } \ No newline at end of file diff --git a/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/diagnostics/native/FirNativeErrorsDefaultMessages.kt b/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/diagnostics/native/FirNativeErrorsDefaultMessages.kt index 99484378fb0..998ac03dfc4 100644 --- a/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/diagnostics/native/FirNativeErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/diagnostics/native/FirNativeErrorsDefaultMessages.kt @@ -73,7 +73,5 @@ object FirNativeErrorsDefaultMessages : BaseDiagnosticRendererFactory() { map.put(INAPPLICABLE_EXACT_OBJC_NAME, "Exact @ObjCName is only applicable to classes, objects and interfaces") map.put(MISSING_EXACT_OBJC_NAME, "Exact @ObjCName is required to have an ObjC name") map.put(NON_LITERAL_OBJC_NAME_ARG, "@ObjCName accepts only literal string and boolean values") - - map.checkMissingMessages(FirNativeErrors) } } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt index 3e5c8d400f6..55bae6d3ad8 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt @@ -2180,8 +2180,6 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() { map.put(ASSIGNED_VALUE_IS_NEVER_READ, "Assigned value is never read") map.put(VARIABLE_INITIALIZER_IS_REDUNDANT, "Initializer is redundant") map.put(VARIABLE_NEVER_READ, "Variable is never read") - - map.checkMissingMessages(FirErrors) } } diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DefaultMessagesTest.kt b/compiler/tests/org/jetbrains/kotlin/checkers/DefaultMessagesTest.kt new file mode 100644 index 00000000000..4d77fbbea3a --- /dev/null +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DefaultMessagesTest.kt @@ -0,0 +1,30 @@ +/* + * 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.checkers + +import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors +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.FirJsErrorsDefaultMessages +import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors +import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrorsDefaultMessages +import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrors +import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrorsDefaultMessages +import org.jetbrains.kotlin.fir.builder.FirSyntaxErrors +import org.jetbrains.kotlin.fir.builder.FirSyntaxErrorsDefaultMessages +import org.junit.Test + +class DefaultMessagesTest { + @Test + fun ensureAllMessagesPresent() { + FirErrorsDefaultMessages.MAP.checkMissingMessages(FirErrors) + FirJvmErrorsDefaultMessages.MAP.checkMissingMessages(FirJvmErrors) + FirJsErrorsDefaultMessages.MAP.checkMissingMessages(FirJsErrors) + FirNativeErrorsDefaultMessages.MAP.checkMissingMessages(FirNativeErrors) + FirSyntaxErrorsDefaultMessages.MAP.checkMissingMessages(FirSyntaxErrors) + } +}