FIR: Update diagnostics list after rebase

This commit is contained in:
Ilya Kirillov
2021-02-02 21:17:38 +01:00
parent fe9c0e584f
commit b2d51dc455
14 changed files with 480 additions and 59 deletions
@@ -5,20 +5,24 @@
package org.jetbrains.kotlin.idea.frontend.api.fir.generator
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirEffectiveVisibility
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.Diagnostic
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticList
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticParameter
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirClass
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.expressions.WhenMissingCase
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.idea.frontend.api.symbols.*
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.name.Name
@@ -26,8 +30,6 @@ import kotlin.reflect.KClass
import kotlin.reflect.KType
import kotlin.reflect.full.createType
import kotlin.reflect.full.isSubclassOf
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.idea.frontend.api.symbols.*
object HLDiagnosticConverter {
fun convert(diagnosticList: DiagnosticList): HLDiagnosticList =
@@ -124,6 +126,11 @@ private object FirToKtConversionCreator {
KtSymbol::class.createType(),
importsToAdd = listOf("org.jetbrains.kotlin.fir.declarations.FirDeclaration")
),
FirCallableDeclaration::class to HLFunctionCallConversion(
"firSymbolBuilder.buildCallableSymbol({0} as FirCallableDeclaration)",
KtCallableSymbol::class.createType(),
importsToAdd = listOf("org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration")
),
FirTypeParameterSymbol::class to HLFunctionCallConversion(
"firSymbolBuilder.buildTypeParameterSymbol({0}.fir as FirTypeParameter)",
KtTypeParameterSymbol::class.createType(),
@@ -146,6 +153,11 @@ private object FirToKtConversionCreator {
KtVariableSymbol::class.createType(),
importsToAdd = listOf("org.jetbrains.kotlin.fir.declarations.FirProperty")
),
WhenMissingCase::class to HLFunctionCallConversion(
"""TODO("WhenMissingCase conversion is not supported yet")""",
Any::class.createType(),
importsToAdd = listOf("org.jetbrains.kotlin.fir.expressions.WhenMissingCase")
),
)
private val allowedTypesWithoutTypeParams = setOf(
@@ -154,6 +166,7 @@ private object FirToKtConversionCreator {
Name::class,
EventOccurrencesRange::class,
KtModifierKeywordToken::class,
Visibility::class,
)
private val KType.kClass: KClass<*>
@@ -9,13 +9,6 @@ import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
import kotlin.reflect.KClass
import kotlin.reflect.KType
@OptIn(ExperimentalStdlibApi::class)
internal fun KType.collectClassNamesTo(set: MutableSet<String>) {
(classifier as? KClass<*>)?.qualifiedName?.let(set::add)
for (argument in arguments) {
argument.type?.collectClassNamesTo(set)
}
}
internal fun SmartPrinter.printTypeWithShortNames(type: KType) {
print((type.classifier as KClass<*>).simpleName!!)
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.frontend.api.fir.generator.rendererrs
import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticList
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticListRenderer
import org.jetbrains.kotlin.fir.checkers.generator.printImports
@@ -15,7 +16,6 @@ import org.jetbrains.kotlin.fir.tree.generator.printer.useSmartPrinter
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticConverter
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticList
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticParameter
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.collectClassNamesTo
import java.io.File
abstract class AbstractDiagnosticsDataClassRenderer : DiagnosticListRenderer() {
@@ -9,9 +9,9 @@ import org.jetbrains.kotlin.fir.checkers.generator.inBracketsWithIndent
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
import org.jetbrains.kotlin.fir.tree.generator.printer.withIndent
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.*
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.collectClassNamesTo
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.printTypeWithShortNames
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
object KtDiagnosticClassImplementationRenderer : AbstractDiagnosticsDataClassRenderer() {
override fun SmartPrinter.render(diagnosticList: HLDiagnosticList, packageName: String) {
@@ -5,11 +5,10 @@
package org.jetbrains.kotlin.idea.frontend.api.fir.generator.rendererrs
import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
import org.jetbrains.kotlin.fir.checkers.generator.inBracketsWithIndent
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.*
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.collectClassNamesTo
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.printTypeWithShortNames
object KtDiagnosticClassRenderer : AbstractDiagnosticsDataClassRenderer() {
@@ -9,22 +9,28 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiTypeElement
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirClass
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.expressions.WhenMissingCase
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtDestructuringDeclaration
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtFunction
import org.jetbrains.kotlin.psi.KtIfExpression
import org.jetbrains.kotlin.psi.KtModifierListOwner
import org.jetbrains.kotlin.psi.KtNamedDeclaration
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.KtPropertyAccessor
import org.jetbrains.kotlin.psi.KtPropertyDelegate
import org.jetbrains.kotlin.psi.KtTypeParameter
import org.jetbrains.kotlin.psi.KtTypeParameterList
import org.jetbrains.kotlin.psi.KtTypeReference
import org.jetbrains.kotlin.psi.KtWhenExpression
/*
* This file was generated automatically
@@ -453,7 +459,6 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
}
add(FirErrors.INAPPLICABLE_INFIX_MODIFIER) { firDiagnostic ->
InapplicableInfixModifierImpl(
firDiagnostic.a,
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
@@ -621,9 +626,72 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.CATCH_PARAMETER_WITH_DEFAULT_VALUE) { firDiagnostic ->
CatchParameterWithDefaultValueImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.REIFIED_TYPE_IN_CATCH_CLAUSE) { firDiagnostic ->
ReifiedTypeInCatchClauseImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.TYPE_PARAMETER_IN_CATCH_CLAUSE) { firDiagnostic ->
TypeParameterInCatchClauseImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.GENERIC_THROWABLE_SUBCLASS) { firDiagnostic ->
GenericThrowableSubclassImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS) { firDiagnostic ->
InnerClassOfGenericThrowableSubclassImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.NOTHING_TO_OVERRIDE) { firDiagnostic ->
NothingToOverrideImpl(
firSymbolBuilder.buildSymbol(firDiagnostic.a as FirDeclaration),
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.CANNOT_WEAKEN_ACCESS_PRIVILEGE) { firDiagnostic ->
CannotWeakenAccessPrivilegeImpl(
firDiagnostic.a,
firSymbolBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
firDiagnostic.c,
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.CANNOT_CHANGE_ACCESS_PRIVILEGE) { firDiagnostic ->
CannotChangeAccessPrivilegeImpl(
firDiagnostic.a,
firSymbolBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
firDiagnostic.c,
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.OVERRIDING_FINAL_MEMBER) { firDiagnostic ->
OverridingFinalMemberImpl(
firSymbolBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
firDiagnostic.b,
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.RETURN_TYPE_MISMATCH_ON_OVERRIDE) { firDiagnostic ->
ReturnTypeMismatchOnOverrideImpl(
firDiagnostic.a,
firSymbolBuilder.buildSymbol(firDiagnostic.a as FirDeclaration),
firSymbolBuilder.buildSymbol(firDiagnostic.b as FirDeclaration),
firDiagnostic as FirPsiDiagnostic<*>,
token,
@@ -631,7 +699,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
}
add(FirErrors.PROPERTY_TYPE_MISMATCH_ON_OVERRIDE) { firDiagnostic ->
PropertyTypeMismatchOnOverrideImpl(
firDiagnostic.a,
firSymbolBuilder.buildSymbol(firDiagnostic.a as FirDeclaration),
firSymbolBuilder.buildSymbol(firDiagnostic.b as FirDeclaration),
firDiagnostic as FirPsiDiagnostic<*>,
token,
@@ -639,7 +707,15 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
}
add(FirErrors.VAR_TYPE_MISMATCH_ON_OVERRIDE) { firDiagnostic ->
VarTypeMismatchOnOverrideImpl(
firDiagnostic.a,
firSymbolBuilder.buildSymbol(firDiagnostic.a as FirDeclaration),
firSymbolBuilder.buildSymbol(firDiagnostic.b as FirDeclaration),
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.VAR_OVERRIDDEN_BY_VAL) { firDiagnostic ->
VarOverriddenByValImpl(
firSymbolBuilder.buildSymbol(firDiagnostic.a as FirDeclaration),
firSymbolBuilder.buildSymbol(firDiagnostic.b as FirDeclaration),
firDiagnostic as FirPsiDiagnostic<*>,
token,
@@ -855,6 +931,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.COMPONENT_FUNCTION_ON_NULLABLE) { firDiagnostic ->
ComponentFunctionOnNullableImpl(
firDiagnostic.a,
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.UNINITIALIZED_VARIABLE) { firDiagnostic ->
UninitializedVariableImpl(
firSymbolBuilder.buildVariableSymbol(firDiagnostic.a.fir as FirProperty),
@@ -884,6 +967,28 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.UNSAFE_CALL) { firDiagnostic ->
UnsafeCallImpl(
firSymbolBuilder.buildKtType(firDiagnostic.a),
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.NO_ELSE_IN_WHEN) { firDiagnostic ->
NoElseInWhenImpl(
firDiagnostic.a.map { whenMissingCase ->
TODO("WhenMissingCase conversion is not supported yet")
},
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.INVALID_IF_AS_EXPRESSION) { firDiagnostic ->
InvalidIfAsExpressionImpl(
firDiagnostic as FirPsiDiagnostic<*>,
token,
)
}
add(FirErrors.REDUNDANT_VISIBILITY_MODIFIER) { firDiagnostic ->
RedundantVisibilityModifierImpl(
firDiagnostic as FirPsiDiagnostic<*>,
@@ -10,6 +10,7 @@ import com.intellij.psi.PsiTypeElement
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.idea.frontend.api.diagnostics.KtDiagnosticWithPsi
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassLikeSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeParameterSymbol
@@ -17,19 +18,22 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.KtVariableSymbol
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtCallableDeclaration
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtDestructuringDeclaration
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtFunction
import org.jetbrains.kotlin.psi.KtIfExpression
import org.jetbrains.kotlin.psi.KtModifierListOwner
import org.jetbrains.kotlin.psi.KtNamedDeclaration
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.KtPropertyAccessor
import org.jetbrains.kotlin.psi.KtPropertyDelegate
import org.jetbrains.kotlin.psi.KtTypeParameter
import org.jetbrains.kotlin.psi.KtTypeParameterList
import org.jetbrains.kotlin.psi.KtTypeReference
import org.jetbrains.kotlin.psi.KtWhenExpression
/*
* This file was generated automatically
@@ -328,7 +332,6 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract class InapplicableInfixModifier : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = InapplicableInfixModifier::class
abstract val modifier: String
}
abstract class RepeatedModifier : KtFirDiagnostic<PsiElement>() {
@@ -438,26 +441,77 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract val type: String
}
abstract class VarianceOnTypeParameterNotAllowed : KtFirDiagnostic<PsiElement>() {
abstract class VarianceOnTypeParameterNotAllowed : KtFirDiagnostic<KtTypeParameter>() {
override val diagnosticClass get() = VarianceOnTypeParameterNotAllowed::class
}
abstract class ReturnTypeMismatchOnOverride : KtFirDiagnostic<KtCallableDeclaration>() {
abstract class CatchParameterWithDefaultValue : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = CatchParameterWithDefaultValue::class
}
abstract class ReifiedTypeInCatchClause : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = ReifiedTypeInCatchClause::class
}
abstract class TypeParameterInCatchClause : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = TypeParameterInCatchClause::class
}
abstract class GenericThrowableSubclass : KtFirDiagnostic<KtTypeParameterList>() {
override val diagnosticClass get() = GenericThrowableSubclass::class
}
abstract class InnerClassOfGenericThrowableSubclass : KtFirDiagnostic<KtClassOrObject>() {
override val diagnosticClass get() = InnerClassOfGenericThrowableSubclass::class
}
abstract class NothingToOverride : KtFirDiagnostic<KtModifierListOwner>() {
override val diagnosticClass get() = NothingToOverride::class
abstract val declaration: KtSymbol
}
abstract class CannotWeakenAccessPrivilege : KtFirDiagnostic<KtModifierListOwner>() {
override val diagnosticClass get() = CannotWeakenAccessPrivilege::class
abstract val overridingVisibility: Visibility
abstract val overridden: KtCallableSymbol
abstract val containingClassName: Name
}
abstract class CannotChangeAccessPrivilege : KtFirDiagnostic<KtModifierListOwner>() {
override val diagnosticClass get() = CannotChangeAccessPrivilege::class
abstract val overridingVisibility: Visibility
abstract val overridden: KtCallableSymbol
abstract val containingClassName: Name
}
abstract class OverridingFinalMember : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = OverridingFinalMember::class
abstract val overriddenDeclaration: KtCallableSymbol
abstract val containingClassName: Name
}
abstract class ReturnTypeMismatchOnOverride : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = ReturnTypeMismatchOnOverride::class
abstract val function: KtSymbol
abstract val superFunction: KtSymbol
}
abstract class PropertyTypeMismatchOnOverride : KtFirDiagnostic<KtCallableDeclaration>() {
abstract class PropertyTypeMismatchOnOverride : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = PropertyTypeMismatchOnOverride::class
abstract val property: KtSymbol
abstract val targetProperty: KtSymbol
abstract val superProperty: KtSymbol
}
abstract class VarTypeMismatchOnOverride : KtFirDiagnostic<KtCallableDeclaration>() {
abstract class VarTypeMismatchOnOverride : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = VarTypeMismatchOnOverride::class
abstract val variable: KtSymbol
abstract val targetVariable: KtSymbol
abstract val superVariable: KtSymbol
}
abstract class VarOverriddenByVal : KtFirDiagnostic<KtNamedDeclaration>() {
override val diagnosticClass get() = VarOverriddenByVal::class
abstract val overridingDeclaration: KtSymbol
abstract val overriddenDeclaration: KtSymbol
}
abstract class ManyCompanionObjects : KtFirDiagnostic<PsiElement>() {
@@ -604,6 +658,11 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract val candidates: List<KtSymbol>
}
abstract class ComponentFunctionOnNullable : KtFirDiagnostic<KtExpression>() {
override val diagnosticClass get() = ComponentFunctionOnNullable::class
abstract val componentFunctionName: Name
}
abstract class UninitializedVariable : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = UninitializedVariable::class
abstract val variable: KtVariableSymbol
@@ -625,6 +684,20 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = WrongImpliesCondition::class
}
abstract class UnsafeCall : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = UnsafeCall::class
abstract val receiverType: KtType
}
abstract class NoElseInWhen : KtFirDiagnostic<KtWhenExpression>() {
override val diagnosticClass get() = NoElseInWhen::class
abstract val missingWhenCases: List<Any>
}
abstract class InvalidIfAsExpression : KtFirDiagnostic<KtIfExpression>() {
override val diagnosticClass get() = InvalidIfAsExpression::class
}
abstract class RedundantVisibilityModifier : KtFirDiagnostic<KtModifierListOwner>() {
override val diagnosticClass get() = RedundantVisibilityModifier::class
}
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic
import org.jetbrains.kotlin.idea.frontend.api.ValidityToken
import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassLikeSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeParameterSymbol
@@ -19,19 +20,22 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.KtVariableSymbol
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtCallableDeclaration
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtDestructuringDeclaration
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtFunction
import org.jetbrains.kotlin.psi.KtIfExpression
import org.jetbrains.kotlin.psi.KtModifierListOwner
import org.jetbrains.kotlin.psi.KtNamedDeclaration
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.KtPropertyAccessor
import org.jetbrains.kotlin.psi.KtPropertyDelegate
import org.jetbrains.kotlin.psi.KtTypeParameter
import org.jetbrains.kotlin.psi.KtTypeParameterList
import org.jetbrains.kotlin.psi.KtTypeReference
import org.jetbrains.kotlin.psi.KtWhenExpression
/*
* This file was generated automatically
@@ -523,7 +527,6 @@ internal class ExposedTypeParameterBoundImpl(
}
internal class InapplicableInfixModifierImpl(
override val modifier: String,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.InapplicableInfixModifier(), KtAbstractFirDiagnostic<PsiElement> {
@@ -706,7 +709,79 @@ internal class ConflictingProjectionImpl(
internal class VarianceOnTypeParameterNotAllowedImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.VarianceOnTypeParameterNotAllowed(), KtAbstractFirDiagnostic<PsiElement> {
) : KtFirDiagnostic.VarianceOnTypeParameterNotAllowed(), KtAbstractFirDiagnostic<KtTypeParameter> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class CatchParameterWithDefaultValueImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.CatchParameterWithDefaultValue(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class ReifiedTypeInCatchClauseImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.ReifiedTypeInCatchClause(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class TypeParameterInCatchClauseImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.TypeParameterInCatchClause(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class GenericThrowableSubclassImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.GenericThrowableSubclass(), KtAbstractFirDiagnostic<KtTypeParameterList> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class InnerClassOfGenericThrowableSubclassImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.InnerClassOfGenericThrowableSubclass(), KtAbstractFirDiagnostic<KtClassOrObject> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class NothingToOverrideImpl(
override val declaration: KtSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.NothingToOverride(), KtAbstractFirDiagnostic<KtModifierListOwner> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class CannotWeakenAccessPrivilegeImpl(
override val overridingVisibility: Visibility,
override val overridden: KtCallableSymbol,
override val containingClassName: Name,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.CannotWeakenAccessPrivilege(), KtAbstractFirDiagnostic<KtModifierListOwner> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class CannotChangeAccessPrivilegeImpl(
override val overridingVisibility: Visibility,
override val overridden: KtCallableSymbol,
override val containingClassName: Name,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.CannotChangeAccessPrivilege(), KtAbstractFirDiagnostic<KtModifierListOwner> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class OverridingFinalMemberImpl(
override val overriddenDeclaration: KtCallableSymbol,
override val containingClassName: Name,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.OverridingFinalMember(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
@@ -715,25 +790,34 @@ internal class ReturnTypeMismatchOnOverrideImpl(
override val superFunction: KtSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.ReturnTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtCallableDeclaration> {
) : KtFirDiagnostic.ReturnTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class PropertyTypeMismatchOnOverrideImpl(
override val property: KtSymbol,
override val targetProperty: KtSymbol,
override val superProperty: KtSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.PropertyTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtCallableDeclaration> {
) : KtFirDiagnostic.PropertyTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class VarTypeMismatchOnOverrideImpl(
override val variable: KtSymbol,
override val targetVariable: KtSymbol,
override val superVariable: KtSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.VarTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtCallableDeclaration> {
) : KtFirDiagnostic.VarTypeMismatchOnOverride(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class VarOverriddenByValImpl(
override val overridingDeclaration: KtSymbol,
override val overriddenDeclaration: KtSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.VarOverriddenByVal(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
@@ -977,6 +1061,14 @@ internal class ComponentFunctionAmbiguityImpl(
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class ComponentFunctionOnNullableImpl(
override val componentFunctionName: Name,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.ComponentFunctionOnNullable(), KtAbstractFirDiagnostic<KtExpression> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class UninitializedVariableImpl(
override val variable: KtVariableSymbol,
firDiagnostic: FirPsiDiagnostic<*>,
@@ -1010,6 +1102,29 @@ internal class WrongImpliesConditionImpl(
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class UnsafeCallImpl(
override val receiverType: KtType,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.UnsafeCall(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class NoElseInWhenImpl(
override val missingWhenCases: List<Any>,
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.NoElseInWhen(), KtAbstractFirDiagnostic<KtWhenExpression> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class InvalidIfAsExpressionImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,
) : KtFirDiagnostic.InvalidIfAsExpression(), KtAbstractFirDiagnostic<KtIfExpression> {
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
}
internal class RedundantVisibilityModifierImpl(
firDiagnostic: FirPsiDiagnostic<*>,
override val token: ValidityToken,