[FIR] DATA_CLASS_OVERRIDE_CONFLICT diagnostic
This commit is contained in:
committed by
teamcityserver
parent
b44785c24e
commit
b36f8ed8f5
+5
@@ -576,6 +576,11 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
|||||||
parameter<FirCallableDeclaration<*>>("baseMember")
|
parameter<FirCallableDeclaration<*>>("baseMember")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val DATA_CLASS_OVERRIDE_CONFLICT by error<KtClassOrObject>(PositioningStrategy.DATA_MODIFIER) {
|
||||||
|
parameter<FirCallableDeclaration<*>>("overridingMember")
|
||||||
|
parameter<FirCallableDeclaration<*>>("baseMember")
|
||||||
|
}
|
||||||
|
|
||||||
val CANNOT_WEAKEN_ACCESS_PRIVILEGE by error<KtModifierListOwner>(PositioningStrategy.VISIBILITY_MODIFIER) {
|
val CANNOT_WEAKEN_ACCESS_PRIVILEGE by error<KtModifierListOwner>(PositioningStrategy.VISIBILITY_MODIFIER) {
|
||||||
parameter<Visibility>("overridingVisibility")
|
parameter<Visibility>("overridingVisibility")
|
||||||
parameter<FirCallableDeclaration>("overridden")
|
parameter<FirCallableDeclaration>("overridden")
|
||||||
|
|||||||
+1
@@ -74,6 +74,7 @@ enum class PositioningStrategy(private val strategy: String? = null) {
|
|||||||
ANNOTATION_USE_SITE,
|
ANNOTATION_USE_SITE,
|
||||||
ASSIGNMENT_LHS,
|
ASSIGNMENT_LHS,
|
||||||
IMPORT_LAST_NAME,
|
IMPORT_LAST_NAME,
|
||||||
|
DATA_MODIFIER,
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -345,6 +345,7 @@ object FirErrors {
|
|||||||
// overrides
|
// overrides
|
||||||
val NOTHING_TO_OVERRIDE by error1<KtModifierListOwner, FirMemberDeclaration>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
val NOTHING_TO_OVERRIDE by error1<KtModifierListOwner, FirMemberDeclaration>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
||||||
val CANNOT_OVERRIDE_INVISIBLE_MEMBER by error2<KtNamedDeclaration, FirCallableDeclaration<*>, FirCallableDeclaration<*>>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
val CANNOT_OVERRIDE_INVISIBLE_MEMBER by error2<KtNamedDeclaration, FirCallableDeclaration<*>, FirCallableDeclaration<*>>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
||||||
|
val DATA_CLASS_OVERRIDE_CONFLICT by error2<KtClassOrObject, FirCallableDeclaration<*>, FirCallableDeclaration<*>>(SourceElementPositioningStrategies.DATA_MODIFIER)
|
||||||
val CANNOT_WEAKEN_ACCESS_PRIVILEGE by error3<KtModifierListOwner, Visibility, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.VISIBILITY_MODIFIER)
|
val CANNOT_WEAKEN_ACCESS_PRIVILEGE by error3<KtModifierListOwner, Visibility, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.VISIBILITY_MODIFIER)
|
||||||
val CANNOT_CHANGE_ACCESS_PRIVILEGE by error3<KtModifierListOwner, Visibility, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.VISIBILITY_MODIFIER)
|
val CANNOT_CHANGE_ACCESS_PRIVILEGE by error3<KtModifierListOwner, Visibility, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.VISIBILITY_MODIFIER)
|
||||||
val OVERRIDING_FINAL_MEMBER by error2<KtNamedDeclaration, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
val OVERRIDING_FINAL_MEMBER by error2<KtNamedDeclaration, FirCallableDeclaration, Name>(SourceElementPositioningStrategies.OVERRIDE_MODIFIER)
|
||||||
|
|||||||
+14
@@ -202,6 +202,20 @@ object FirOverrideChecker : FirClassChecker() {
|
|||||||
}
|
}
|
||||||
val kind = member.source?.kind
|
val kind = member.source?.kind
|
||||||
// Only report if the current member has real source or it's a member property declared inside the primary constructor.
|
// Only report if the current member has real source or it's a member property declared inside the primary constructor.
|
||||||
|
|
||||||
|
if (kind is FirFakeSourceElementKind.DataClassGeneratedMembers) {
|
||||||
|
overriddenMemberSymbols.find { (it.fir as? FirCallableMemberDeclaration<*>)?.isFinal == true }?.let { base ->
|
||||||
|
reporter.reportOn(
|
||||||
|
containingClass.source,
|
||||||
|
FirErrors.DATA_CLASS_OVERRIDE_CONFLICT,
|
||||||
|
member,
|
||||||
|
base.fir,
|
||||||
|
context
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (kind !is FirRealSourceElementKind && kind !is FirFakeSourceElementKind.PropertyFromParameter) return
|
if (kind !is FirRealSourceElementKind && kind !is FirFakeSourceElementKind.PropertyFromParameter) return
|
||||||
|
|
||||||
val overridden = overriddenMemberSymbols.first().originalOrSelf()
|
val overridden = overriddenMemberSymbols.first().originalOrSelf()
|
||||||
|
|||||||
+7
@@ -95,6 +95,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.CYCLIC_CONSTRUCTO
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.CYCLIC_GENERIC_UPPER_BOUND
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.CYCLIC_GENERIC_UPPER_BOUND
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.CYCLIC_INHERITANCE_HIERARCHY
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.CYCLIC_INHERITANCE_HIERARCHY
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_NOT_PROPERTY_PARAMETER
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_NOT_PROPERTY_PARAMETER
|
||||||
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_OVERRIDE_CONFLICT
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_VARARG_PARAMETER
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_VARARG_PARAMETER
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_WITHOUT_PARAMETERS
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DATA_CLASS_WITHOUT_PARAMETERS
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DELEGATED_PROPERTY_INSIDE_INLINE_CLASS
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.DELEGATED_PROPERTY_INSIDE_INLINE_CLASS
|
||||||
@@ -942,6 +943,12 @@ class FirDefaultErrorMessages {
|
|||||||
VIRTUAL_MEMBER_HIDDEN, "''{0}'' hides member of supertype ''{1}'' and needs ''override'' modifier", DECLARATION_NAME,
|
VIRTUAL_MEMBER_HIDDEN, "''{0}'' hides member of supertype ''{1}'' and needs ''override'' modifier", DECLARATION_NAME,
|
||||||
DECLARATION_NAME
|
DECLARATION_NAME
|
||||||
)
|
)
|
||||||
|
map.put(
|
||||||
|
DATA_CLASS_OVERRIDE_CONFLICT,
|
||||||
|
"Function ''{0}'' generated for the data class conflicts with member of supertype ''{1}''",
|
||||||
|
FQ_NAMES_IN_TYPES,
|
||||||
|
FQ_NAMES_IN_TYPES
|
||||||
|
)
|
||||||
|
|
||||||
map.put(
|
map.put(
|
||||||
GENERIC_THROWABLE_SUBCLASS,
|
GENERIC_THROWABLE_SUBCLASS,
|
||||||
|
|||||||
+3
@@ -354,6 +354,9 @@ object LightTreePositioningStrategies {
|
|||||||
val INNER_MODIFIER: LightTreePositioningStrategy =
|
val INNER_MODIFIER: LightTreePositioningStrategy =
|
||||||
ModifierSetBasedLightTreePositioningStrategy(TokenSet.create(KtTokens.INNER_KEYWORD))
|
ModifierSetBasedLightTreePositioningStrategy(TokenSet.create(KtTokens.INNER_KEYWORD))
|
||||||
|
|
||||||
|
val DATA_MODIFIER: LightTreePositioningStrategy =
|
||||||
|
ModifierSetBasedLightTreePositioningStrategy(TokenSet.create(KtTokens.DATA_KEYWORD))
|
||||||
|
|
||||||
val OPERATOR: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
val OPERATOR: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
||||||
override fun mark(
|
override fun mark(
|
||||||
node: LighterASTNode,
|
node: LighterASTNode,
|
||||||
|
|||||||
+5
@@ -118,6 +118,11 @@ object SourceElementPositioningStrategies {
|
|||||||
PositioningStrategies.SUSPEND_MODIFIER
|
PositioningStrategies.SUSPEND_MODIFIER
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val DATA_MODIFIER = SourceElementPositioningStrategy(
|
||||||
|
LightTreePositioningStrategies.DATA_MODIFIER,
|
||||||
|
PositioningStrategies.DATA_MODIFIER
|
||||||
|
)
|
||||||
|
|
||||||
val OPERATOR = SourceElementPositioningStrategy(
|
val OPERATOR = SourceElementPositioningStrategy(
|
||||||
LightTreePositioningStrategies.OPERATOR,
|
LightTreePositioningStrategies.OPERATOR,
|
||||||
PositioningStrategies.OPERATOR
|
PositioningStrategies.OPERATOR
|
||||||
|
|||||||
@@ -374,6 +374,9 @@ object PositioningStrategies {
|
|||||||
@JvmField
|
@JvmField
|
||||||
val SUSPEND_MODIFIER: PositioningStrategy<KtModifierListOwner> = modifierSetPosition(KtTokens.SUSPEND_KEYWORD)
|
val SUSPEND_MODIFIER: PositioningStrategy<KtModifierListOwner> = modifierSetPosition(KtTokens.SUSPEND_KEYWORD)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
val DATA_MODIFIER: PositioningStrategy<KtModifierListOwner> = modifierSetPosition(KtTokens.DATA_KEYWORD)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val FOR_REDECLARATION: PositioningStrategy<PsiElement> = object : PositioningStrategy<PsiElement>() {
|
val FOR_REDECLARATION: PositioningStrategy<PsiElement> = object : PositioningStrategy<PsiElement>() {
|
||||||
override fun mark(element: PsiElement): List<TextRange> {
|
override fun mark(element: PsiElement): List<TextRange> {
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
interface SuperInterface
|
|
||||||
|
|
||||||
open class SuperClass
|
|
||||||
|
|
||||||
<!INCOMPATIBLE_MODIFIERS!>abstract<!> <!INCOMPATIBLE_MODIFIERS!>data<!> class Base(val x: Int)
|
|
||||||
|
|
||||||
class Derived: Base(42)
|
|
||||||
|
|
||||||
data class Nasty(val z: Int, val y: Int): Base(z)
|
|
||||||
|
|
||||||
data class Complex(val y: Int): SuperInterface, SuperClass()
|
|
||||||
|
|
||||||
data class SubData(val sss: String) : <!FINAL_SUPERTYPE!>Complex<!>(42)
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
interface SuperInterface
|
interface SuperInterface
|
||||||
|
|
||||||
open class SuperClass
|
open class SuperClass
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,4 +2,4 @@ interface T {
|
|||||||
final fun component1(): Int = 42
|
final fun component1(): Int = 42
|
||||||
}
|
}
|
||||||
|
|
||||||
data class A(val x: Int) : T
|
<!DATA_CLASS_OVERRIDE_CONFLICT!>data<!> class A(val x: Int) : T
|
||||||
|
|||||||
+4
-4
@@ -5,10 +5,10 @@ interface A<T> {
|
|||||||
fun bar(x: T!!): T!!
|
fun bar(x: T!!): T!!
|
||||||
}
|
}
|
||||||
|
|
||||||
//interface B<T1> : A<T1> {
|
interface B<T1> : A<T1> {
|
||||||
// override fun foo(x: T1): T1
|
override fun foo(x: T1): T1
|
||||||
// override fun bar(x: T1!!): T1!!
|
override fun bar(x: T1!!): T1!!
|
||||||
//}
|
}
|
||||||
|
|
||||||
interface C<T2> : A<T2> {
|
interface C<T2> : A<T2> {
|
||||||
override fun foo(x: T2!!): T2!!
|
override fun foo(x: T2!!): T2!!
|
||||||
|
|||||||
Vendored
-1
@@ -1,4 +1,3 @@
|
|||||||
// fir reports NOTHING_TO_OVERRIDE because it keeps only one definition of p.Base
|
|
||||||
// MODULE: m1
|
// MODULE: m1
|
||||||
// FILE: x.kt
|
// FILE: x.kt
|
||||||
package p
|
package p
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ open class NotAllowed
|
|||||||
|
|
||||||
class Derived: Base(42)
|
class Derived: Base(42)
|
||||||
|
|
||||||
data class Nasty(val z: Int, val y: Int): Base(z)
|
<!DATA_CLASS_OVERRIDE_CONFLICT!>data<!> class Nasty(val z: Int, val y: Int): Base(z)
|
||||||
|
|
||||||
data class Complex(val y: Int): Allowed, NotAllowed()
|
data class Complex(val y: Int): Allowed, NotAllowed()
|
||||||
|
|
||||||
|
|||||||
+16
-8
@@ -1630,7 +1630,15 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
CannotOverrideInvisibleMemberImpl(
|
CannotOverrideInvisibleMemberImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
|
token,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
add(FirErrors.DATA_CLASS_OVERRIDE_CONFLICT) { firDiagnostic ->
|
||||||
|
DataClassOverrideConflictImpl(
|
||||||
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1664,7 +1672,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
ReturnTypeMismatchOnInheritanceImpl(
|
ReturnTypeMismatchOnInheritanceImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1672,7 +1680,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
PropertyTypeMismatchOnInheritanceImpl(
|
PropertyTypeMismatchOnInheritanceImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1680,7 +1688,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
VarTypeMismatchOnInheritanceImpl(
|
VarTypeMismatchOnInheritanceImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1688,7 +1696,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
ReturnTypeMismatchByDelegationImpl(
|
ReturnTypeMismatchByDelegationImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1696,7 +1704,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
PropertyTypeMismatchByDelegationImpl(
|
PropertyTypeMismatchByDelegationImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1704,7 +1712,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
VarOverriddenByValByDelegationImpl(
|
VarOverriddenByValByDelegationImpl(
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a as FirCallableDeclaration),
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.b as FirCallableDeclaration),
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1713,7 +1721,7 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
|||||||
firDiagnostic.a.map { firCallableDeclaration ->
|
firDiagnostic.a.map { firCallableDeclaration ->
|
||||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firCallableDeclaration as FirCallableDeclaration)
|
firSymbolBuilder.callableBuilder.buildCallableSymbol(firCallableDeclaration as FirCallableDeclaration)
|
||||||
},
|
},
|
||||||
firDiagnostic as FirPsiDiagnostic<*>,
|
firDiagnostic as FirPsiDiagnostic,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -1157,6 +1157,12 @@ sealed class KtFirDiagnostic<PSI: PsiElement> : KtDiagnosticWithPsi<PSI> {
|
|||||||
abstract val baseMember: KtCallableSymbol
|
abstract val baseMember: KtCallableSymbol
|
||||||
}
|
}
|
||||||
|
|
||||||
|
abstract class DataClassOverrideConflict : KtFirDiagnostic<KtClassOrObject>() {
|
||||||
|
override val diagnosticClass get() = DataClassOverrideConflict::class
|
||||||
|
abstract val overridingMember: KtCallableSymbol
|
||||||
|
abstract val baseMember: KtCallableSymbol
|
||||||
|
}
|
||||||
|
|
||||||
abstract class CannotWeakenAccessPrivilege : KtFirDiagnostic<KtModifierListOwner>() {
|
abstract class CannotWeakenAccessPrivilege : KtFirDiagnostic<KtModifierListOwner>() {
|
||||||
override val diagnosticClass get() = CannotWeakenAccessPrivilege::class
|
override val diagnosticClass get() = CannotWeakenAccessPrivilege::class
|
||||||
abstract val overridingVisibility: Visibility
|
abstract val overridingVisibility: Visibility
|
||||||
|
|||||||
+25
-16
@@ -1857,10 +1857,19 @@ internal class NothingToOverrideImpl(
|
|||||||
internal class CannotOverrideInvisibleMemberImpl(
|
internal class CannotOverrideInvisibleMemberImpl(
|
||||||
override val overridingMember: KtCallableSymbol,
|
override val overridingMember: KtCallableSymbol,
|
||||||
override val baseMember: KtCallableSymbol,
|
override val baseMember: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.CannotOverrideInvisibleMember(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
|
) : KtFirDiagnostic.CannotOverrideInvisibleMember(), KtAbstractFirDiagnostic<KtNamedDeclaration> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class DataClassOverrideConflictImpl(
|
||||||
|
override val overridingMember: KtCallableSymbol,
|
||||||
|
override val baseMember: KtCallableSymbol,
|
||||||
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
|
override val token: ValidityToken,
|
||||||
|
) : KtFirDiagnostic.DataClassOverrideConflict(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class CannotWeakenAccessPrivilegeImpl(
|
internal class CannotWeakenAccessPrivilegeImpl(
|
||||||
@@ -1895,63 +1904,63 @@ internal class OverridingFinalMemberImpl(
|
|||||||
internal class ReturnTypeMismatchOnInheritanceImpl(
|
internal class ReturnTypeMismatchOnInheritanceImpl(
|
||||||
override val conflictingDeclaration1: KtCallableSymbol,
|
override val conflictingDeclaration1: KtCallableSymbol,
|
||||||
override val conflictingDeclaration2: KtCallableSymbol,
|
override val conflictingDeclaration2: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.ReturnTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.ReturnTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class PropertyTypeMismatchOnInheritanceImpl(
|
internal class PropertyTypeMismatchOnInheritanceImpl(
|
||||||
override val conflictingDeclaration1: KtCallableSymbol,
|
override val conflictingDeclaration1: KtCallableSymbol,
|
||||||
override val conflictingDeclaration2: KtCallableSymbol,
|
override val conflictingDeclaration2: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.PropertyTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.PropertyTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class VarTypeMismatchOnInheritanceImpl(
|
internal class VarTypeMismatchOnInheritanceImpl(
|
||||||
override val conflictingDeclaration1: KtCallableSymbol,
|
override val conflictingDeclaration1: KtCallableSymbol,
|
||||||
override val conflictingDeclaration2: KtCallableSymbol,
|
override val conflictingDeclaration2: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.VarTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.VarTypeMismatchOnInheritance(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class ReturnTypeMismatchByDelegationImpl(
|
internal class ReturnTypeMismatchByDelegationImpl(
|
||||||
override val delegateDeclaration: KtCallableSymbol,
|
override val delegateDeclaration: KtCallableSymbol,
|
||||||
override val baseDeclaration: KtCallableSymbol,
|
override val baseDeclaration: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.ReturnTypeMismatchByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.ReturnTypeMismatchByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class PropertyTypeMismatchByDelegationImpl(
|
internal class PropertyTypeMismatchByDelegationImpl(
|
||||||
override val delegateDeclaration: KtCallableSymbol,
|
override val delegateDeclaration: KtCallableSymbol,
|
||||||
override val baseDeclaration: KtCallableSymbol,
|
override val baseDeclaration: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.PropertyTypeMismatchByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.PropertyTypeMismatchByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class VarOverriddenByValByDelegationImpl(
|
internal class VarOverriddenByValByDelegationImpl(
|
||||||
override val delegateDeclaration: KtCallableSymbol,
|
override val delegateDeclaration: KtCallableSymbol,
|
||||||
override val baseDeclaration: KtCallableSymbol,
|
override val baseDeclaration: KtCallableSymbol,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.VarOverriddenByValByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.VarOverriddenByValByDelegation(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class ConflictingInheritedMembersImpl(
|
internal class ConflictingInheritedMembersImpl(
|
||||||
override val conflictingDeclarations: List<KtCallableSymbol>,
|
override val conflictingDeclarations: List<KtCallableSymbol>,
|
||||||
firDiagnostic: FirPsiDiagnostic<*>,
|
firDiagnostic: FirPsiDiagnostic,
|
||||||
override val token: ValidityToken,
|
override val token: ValidityToken,
|
||||||
) : KtFirDiagnostic.ConflictingInheritedMembers(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
) : KtFirDiagnostic.ConflictingInheritedMembers(), KtAbstractFirDiagnostic<KtClassOrObject> {
|
||||||
override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic)
|
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class AbstractMemberNotImplementedImpl(
|
internal class AbstractMemberNotImplementedImpl(
|
||||||
|
|||||||
Reference in New Issue
Block a user