[FIR] Generate FIR diagnostics with explicit types

#KT-64147 Fixed
This commit is contained in:
Kirill Rakhman
2023-12-07 13:37:45 +01:00
committed by Space Team
parent fc1ada4896
commit daa02813c2
8 changed files with 895 additions and 855 deletions
@@ -6,6 +6,9 @@
package org.jetbrains.kotlin.fir.analysis.diagnostics.web.common
import org.jetbrains.kotlin.diagnostics.*
import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactory0
import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactory1
import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactory2
import org.jetbrains.kotlin.diagnostics.SourceElementPositioningStrategies
import org.jetbrains.kotlin.diagnostics.rendering.RootDiagnosticRendererFactory
import org.jetbrains.kotlin.fir.analysis.diagnostics.*
@@ -21,31 +24,31 @@ import org.jetbrains.kotlin.psi.KtParameter
*/
object FirWebCommonErrors {
// Annotations
val WRONG_JS_QUALIFIER by error0<KtElement>()
val WRONG_JS_QUALIFIER: KtDiagnosticFactory0 by error0<KtElement>()
// Externals
val NESTED_EXTERNAL_DECLARATION by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val WRONG_EXTERNAL_DECLARATION by error1<KtExpression, String>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val NESTED_CLASS_IN_EXTERNAL_INTERFACE by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val INLINE_EXTERNAL_DECLARATION by error0<KtDeclaration>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER by error0<KtParameter>()
val EXTERNAL_ANONYMOUS_INITIALIZER by error0<KtAnonymousInitializer>()
val EXTERNAL_DELEGATION by error0<KtElement>()
val EXTERNAL_DELEGATED_CONSTRUCTOR_CALL by error0<KtElement>()
val WRONG_BODY_OF_EXTERNAL_DECLARATION by error0<KtElement>()
val WRONG_INITIALIZER_OF_EXTERNAL_DECLARATION by error0<KtElement>()
val WRONG_DEFAULT_VALUE_FOR_EXTERNAL_FUN_PARAMETER by error0<KtElement>()
val CANNOT_CHECK_FOR_EXTERNAL_INTERFACE by error1<KtElement, ConeKotlinType>()
val UNCHECKED_CAST_TO_EXTERNAL_INTERFACE by warning2<KtElement, ConeKotlinType, ConeKotlinType>()
val EXTERNAL_INTERFACE_AS_CLASS_LITERAL by error0<KtElement>()
val EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT by error1<KtElement, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val NESTED_EXTERNAL_DECLARATION: KtDiagnosticFactory0 by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val WRONG_EXTERNAL_DECLARATION: KtDiagnosticFactory1<String> by error1<KtExpression, String>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val NESTED_CLASS_IN_EXTERNAL_INTERFACE: KtDiagnosticFactory0 by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val INLINE_EXTERNAL_DECLARATION: KtDiagnosticFactory0 by error0<KtDeclaration>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val NON_ABSTRACT_MEMBER_OF_EXTERNAL_INTERFACE: KtDiagnosticFactory0 by error0<KtExpression>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
val EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER: KtDiagnosticFactory0 by error0<KtParameter>()
val EXTERNAL_ANONYMOUS_INITIALIZER: KtDiagnosticFactory0 by error0<KtAnonymousInitializer>()
val EXTERNAL_DELEGATION: KtDiagnosticFactory0 by error0<KtElement>()
val EXTERNAL_DELEGATED_CONSTRUCTOR_CALL: KtDiagnosticFactory0 by error0<KtElement>()
val WRONG_BODY_OF_EXTERNAL_DECLARATION: KtDiagnosticFactory0 by error0<KtElement>()
val WRONG_INITIALIZER_OF_EXTERNAL_DECLARATION: KtDiagnosticFactory0 by error0<KtElement>()
val WRONG_DEFAULT_VALUE_FOR_EXTERNAL_FUN_PARAMETER: KtDiagnosticFactory0 by error0<KtElement>()
val CANNOT_CHECK_FOR_EXTERNAL_INTERFACE: KtDiagnosticFactory1<ConeKotlinType> by error1<KtElement, ConeKotlinType>()
val UNCHECKED_CAST_TO_EXTERNAL_INTERFACE: KtDiagnosticFactory2<ConeKotlinType, ConeKotlinType> by warning2<KtElement, ConeKotlinType, ConeKotlinType>()
val EXTERNAL_INTERFACE_AS_CLASS_LITERAL: KtDiagnosticFactory0 by error0<KtElement>()
val EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT: KtDiagnosticFactory1<ConeKotlinType> by error1<KtElement, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
// Export
val NESTED_JS_EXPORT by error0<KtElement>()
val NESTED_JS_EXPORT: KtDiagnosticFactory0 by error0<KtElement>()
// JsCode
val JSCODE_ARGUMENT_NON_CONST_EXPRESSION by error0<KtElement>()
val JSCODE_ARGUMENT_NON_CONST_EXPRESSION: KtDiagnosticFactory0 by error0<KtElement>()
init {
RootDiagnosticRendererFactory.registerFactory(FirWebCommonErrorsDefaultMessages)