[FIR] Add FUNCTION_DELEGATE_MEMBER_NAME_CLASH

This commit is contained in:
Ivan Kochurkin
2021-09-10 18:00:31 +03:00
committed by teamcityserver
parent a5caa14255
commit 7e7066d75e
10 changed files with 62 additions and 33 deletions
@@ -3626,6 +3626,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirJvmErrors.FUNCTION_DELEGATE_MEMBER_NAME_CLASH) { firDiagnostic ->
FunctionDelegateMemberNameClashImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirJvmErrors.JAVA_TYPE_MISMATCH) { firDiagnostic ->
JavaTypeMismatchImpl(
firSymbolBuilder.typeBuilder.buildKtType(firDiagnostic.a),
@@ -2525,6 +2525,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = IllegalJvmName::class
}
abstract class FunctionDelegateMemberNameClash : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = FunctionDelegateMemberNameClash::class
}
abstract class JavaTypeMismatch : KtFirDiagnostic<KtExpression>() {
override val diagnosticClass get() = JavaTypeMismatch::class
abstract val expectedType: KtType
@@ -4095,6 +4095,13 @@ internal class IllegalJvmNameImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class FunctionDelegateMemberNameClashImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.FunctionDelegateMemberNameClash(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class JavaTypeMismatchImpl(
override val expectedType: KtType,
override val actualType: KtType,