[FIR JS] Implement FirJsNameChecker
This commit is contained in:
committed by
Space Team
parent
2f9831ed99
commit
5817155616
+36
@@ -1060,6 +1060,42 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_IS_NOT_ON_ALL_ACCESSORS) { firDiagnostic ->
|
||||
JsNameIsNotOnAllAccessorsImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_PROHIBITED_FOR_NAMED_NATIVE) { firDiagnostic ->
|
||||
JsNameProhibitedForNamedNativeImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_PROHIBITED_FOR_OVERRIDE) { firDiagnostic ->
|
||||
JsNameProhibitedForOverrideImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_ON_PRIMARY_CONSTRUCTOR_PROHIBITED) { firDiagnostic ->
|
||||
JsNameOnPrimaryConstructorProhibitedImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_ON_ACCESSOR_AND_PROPERTY) { firDiagnostic ->
|
||||
JsNameOnAccessorAndPropertyImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_NAME_PROHIBITED_FOR_EXTENSION_PROPERTY) { firDiagnostic ->
|
||||
JsNameProhibitedForExtensionPropertyImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.OPT_IN_USAGE) { firDiagnostic ->
|
||||
OptInUsageImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+24
@@ -761,6 +761,30 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = NativeSetterWrongReturnType::class
|
||||
}
|
||||
|
||||
abstract class JsNameIsNotOnAllAccessors : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameIsNotOnAllAccessors::class
|
||||
}
|
||||
|
||||
abstract class JsNameProhibitedForNamedNative : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameProhibitedForNamedNative::class
|
||||
}
|
||||
|
||||
abstract class JsNameProhibitedForOverride : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameProhibitedForOverride::class
|
||||
}
|
||||
|
||||
abstract class JsNameOnPrimaryConstructorProhibited : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameOnPrimaryConstructorProhibited::class
|
||||
}
|
||||
|
||||
abstract class JsNameOnAccessorAndProperty : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameOnAccessorAndProperty::class
|
||||
}
|
||||
|
||||
abstract class JsNameProhibitedForExtensionProperty : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = JsNameProhibitedForExtensionProperty::class
|
||||
}
|
||||
|
||||
abstract class OptInUsage : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = OptInUsage::class
|
||||
abstract val optInMarkerFqName: FqName
|
||||
|
||||
+30
@@ -915,6 +915,36 @@ internal class NativeSetterWrongReturnTypeImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.NativeSetterWrongReturnType(), KtAbstractFirDiagnostic<KtDeclaration>
|
||||
|
||||
internal class JsNameIsNotOnAllAccessorsImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameIsNotOnAllAccessors(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class JsNameProhibitedForNamedNativeImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameProhibitedForNamedNative(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class JsNameProhibitedForOverrideImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameProhibitedForOverride(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class JsNameOnPrimaryConstructorProhibitedImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameOnPrimaryConstructorProhibited(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class JsNameOnAccessorAndPropertyImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameOnAccessorAndProperty(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class JsNameProhibitedForExtensionPropertyImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.JsNameProhibitedForExtensionProperty(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class OptInUsageImpl(
|
||||
override val optInMarkerFqName: FqName,
|
||||
override val message: String,
|
||||
|
||||
Reference in New Issue
Block a user