[FIR] Fix processing constructors of sealed classes
- Allow declaring protected constructors in sealed classes - Make default visibility of sealed class constructor `protected` KT-44861 KT-44865
This commit is contained in:
committed by
TeamCityServer
parent
7c61ddc72b
commit
2d5b685535
+2
-2
@@ -260,8 +260,8 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NON_PRIVATE_CONSTRUCTOR_IN_SEALED) { firDiagnostic ->
|
||||
NonPrivateConstructorInSealedImpl(
|
||||
add(FirErrors.NON_PRIVATE_OR_PROTECTED_CONSTRUCTOR_IN_SEALED) { firDiagnostic ->
|
||||
NonPrivateOrProtectedConstructorInSealedImpl(
|
||||
firDiagnostic as FirPsiDiagnostic<*>,
|
||||
token,
|
||||
)
|
||||
|
||||
+2
-2
@@ -190,8 +190,8 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = NonPrivateConstructorInEnum::class
|
||||
}
|
||||
|
||||
abstract class NonPrivateConstructorInSealed : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = NonPrivateConstructorInSealed::class
|
||||
abstract class NonPrivateOrProtectedConstructorInSealed : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = NonPrivateOrProtectedConstructorInSealed::class
|
||||
}
|
||||
|
||||
abstract class CyclicConstructorDelegationCall : KtFirDiagnostic<PsiElement>() {
|
||||
|
||||
+2
-2
@@ -299,10 +299,10 @@ internal class NonPrivateConstructorInEnumImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class NonPrivateConstructorInSealedImpl(
|
||||
internal class NonPrivateOrProtectedConstructorInSealedImpl(
|
||||
firDiagnostic: FirPsiDiagnostic<*>,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NonPrivateConstructorInSealed(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
) : KtFirDiagnostic.NonPrivateOrProtectedConstructorInSealed(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user