Add applicability checks & tests for SubclassOptInRequired
This commit is contained in:
committed by
teamcity
parent
66e710704a
commit
80a9f22052
+7
@@ -1041,6 +1041,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.SUBCLASS_OPT_IN_INAPPLICABLE) { firDiagnostic ->
|
||||
SubclassOptInInapplicableImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.EXPOSED_TYPEALIAS_EXPANDED_TYPE) { firDiagnostic ->
|
||||
ExposedTypealiasExpandedTypeImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+5
@@ -751,6 +751,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = OptInMarkerOnOverrideWarning::class
|
||||
}
|
||||
|
||||
abstract class SubclassOptInInapplicable : KtFirDiagnostic<KtAnnotationEntry>() {
|
||||
override val diagnosticClass get() = SubclassOptInInapplicable::class
|
||||
abstract val target: String
|
||||
}
|
||||
|
||||
abstract class ExposedTypealiasExpandedType : KtFirDiagnostic<KtNamedDeclaration>() {
|
||||
override val diagnosticClass get() = ExposedTypealiasExpandedType::class
|
||||
abstract val elementVisibility: EffectiveVisibility
|
||||
|
||||
+6
@@ -902,6 +902,12 @@ internal class OptInMarkerOnOverrideWarningImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.OptInMarkerOnOverrideWarning(), KtAbstractFirDiagnostic<KtAnnotationEntry>
|
||||
|
||||
internal class SubclassOptInInapplicableImpl(
|
||||
override val target: String,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.SubclassOptInInapplicable(), KtAbstractFirDiagnostic<KtAnnotationEntry>
|
||||
|
||||
internal class ExposedTypealiasExpandedTypeImpl(
|
||||
override val elementVisibility: EffectiveVisibility,
|
||||
override val restrictingDeclaration: KtSymbol,
|
||||
|
||||
+6
@@ -37548,6 +37548,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/overrideInAnonymousObject.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("subClassOptInModality.kt")
|
||||
public void testSubClassOptInModality() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/subClassOptInModality.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("subClassOptInRequired.kt")
|
||||
public void testSubClassOptInRequired() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user