[FIR] Add JVM_RECORD_EXTENDS_CLASS diagnostic

This commit is contained in:
Andrey Zinovyev
2021-08-19 16:30:58 +03:00
committed by Space
parent 8c2d37917f
commit 09a1d54865
7 changed files with 39 additions and 4 deletions
@@ -3598,4 +3598,11 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirJvmErrors.JVM_RECORD_EXTENDS_CLASS) { firDiagnostic ->
JvmRecordExtendsClassImpl(
firSymbolBuilder.typeBuilder.buildKtType(firDiagnostic.a),
firDiagnostic as FirPsiDiagnostic,
token,
)
}
}
@@ -2505,4 +2505,9 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = DelegationByInJvmRecord::class
}
abstract class JvmRecordExtendsClass : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = JvmRecordExtendsClass::class
abstract val superType: KtType
}
}
@@ -4063,3 +4063,11 @@ internal class DelegationByInJvmRecordImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class JvmRecordExtendsClassImpl(
override val superType: KtType,
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.JvmRecordExtendsClass(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}