[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
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactoryToRendererMap
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_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.CREATOR_DEFINITION_IS_NOT_ALLOWED
import org.jetbrains.kotlin.parcelize.fir.diagnostics.KtErrorsParcelize.DEPRECATED_ANNOTATION
@@ -171,7 +170,5 @@ object KtDefaultErrorMessagesParcelize : BaseDiagnosticRendererFactory() {
DEPRECATED_PARCELER,
"'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)
}
}