FIR: add checker for local extension properties
^KT-56013 Fixed
This commit is contained in:
committed by
Space Team
parent
9873fe84f2
commit
c1420794b4
+6
@@ -3043,6 +3043,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.LOCAL_EXTENSION_PROPERTY) { firDiagnostic ->
|
||||
LocalExtensionPropertyImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.EXPECTED_DECLARATION_WITH_BODY) { firDiagnostic ->
|
||||
ExpectedDeclarationWithBodyImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+4
@@ -2145,6 +2145,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val declaration: KtSymbol
|
||||
}
|
||||
|
||||
abstract class LocalExtensionProperty : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = LocalExtensionProperty::class
|
||||
}
|
||||
|
||||
abstract class ExpectedDeclarationWithBody : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = ExpectedDeclarationWithBody::class
|
||||
}
|
||||
|
||||
+5
@@ -2586,6 +2586,11 @@ internal class LateinitIntrinsicCallOnNonAccessiblePropertyImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.LateinitIntrinsicCallOnNonAccessibleProperty(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class LocalExtensionPropertyImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.LocalExtensionProperty(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ExpectedDeclarationWithBodyImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
|
||||
+6
@@ -24840,6 +24840,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/tests/properties/lateinitOnTopLevel.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("localPropertyExtensions.kt")
|
||||
public void testLocalPropertyExtensions() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/properties/localPropertyExtensions.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("protectedGetterWithPublicSetter.kt")
|
||||
public void testProtectedGetterWithPublicSetter() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user