FIR checker: DSL_SCOPE_VIOLATION
This commit is contained in:
committed by
TeamCityServer
parent
7aaac2573c
commit
826ea122a9
+7
@@ -3292,6 +3292,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.DSL_SCOPE_VIOLATION) { firDiagnostic ->
|
||||
DslScopeViolationImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a.fir),
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TOPLEVEL_TYPEALIASES_ONLY) { firDiagnostic ->
|
||||
ToplevelTypealiasesOnlyImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
|
||||
+5
@@ -2298,6 +2298,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val property: KtVariableSymbol
|
||||
}
|
||||
|
||||
abstract class DslScopeViolation : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = DslScopeViolation::class
|
||||
abstract val calleeSymbol: KtSymbol
|
||||
}
|
||||
|
||||
abstract class ToplevelTypealiasesOnly : KtFirDiagnostic<KtTypeAlias>() {
|
||||
override val diagnosticClass get() = ToplevelTypealiasesOnly::class
|
||||
}
|
||||
|
||||
+6
@@ -2767,6 +2767,12 @@ internal class PropertyAsOperatorImpl(
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.PropertyAsOperator(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class DslScopeViolationImpl(
|
||||
override val calleeSymbol: KtSymbol,
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.DslScopeViolation(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ToplevelTypealiasesOnlyImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
|
||||
+6
@@ -24532,6 +24532,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/twoLanguages.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeAliasToBuiltinFunctionType.kt")
|
||||
public void testTypeAliasToBuiltinFunctionType() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/typeAliasToBuiltinFunctionType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("unsupportedFeature.kt")
|
||||
public void testUnsupportedFeature() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user