[FIR] Support 4 diagnostics for pairs of modifiers
In particular, this commit includes: * Attempt to abstract access to FirSourceElement via FirModifier * Add more visit functions to DeclarationCheckersDiagnosticComponent * Add messages+factories for 4 modifier-related errors and warnings * Introduce FirModifierChecker
This commit is contained in:
committed by
Mikhail Glukhikh
parent
311a91af79
commit
b7d8e879a6
@@ -1,41 +1,41 @@
|
||||
abstract abstract class Foo
|
||||
public public class Bar
|
||||
open open final class Baz {
|
||||
private private fun foo() {}
|
||||
abstract <!REPEATED_MODIFIER!>abstract<!> class Foo
|
||||
public <!REPEATED_MODIFIER!>public<!> class Bar
|
||||
<!INCOMPATIBLE_MODIFIERS!>open<!> <!REPEATED_MODIFIER!>open<!> <!INCOMPATIBLE_MODIFIERS!>final<!> class Baz {
|
||||
private <!REPEATED_MODIFIER!>private<!> fun foo() {}
|
||||
}
|
||||
|
||||
class Bzz(public public val q: Int = 1) {
|
||||
public public val x: Int = 2
|
||||
class Bzz(public <!REPEATED_MODIFIER!>public<!> val q: Int = 1) {
|
||||
public <!REPEATED_MODIFIER!>public<!> val x: Int = 2
|
||||
|
||||
public val y: Int
|
||||
public public get() = 3
|
||||
public <!REPEATED_MODIFIER!>public<!> get() = 3
|
||||
|
||||
val z: Int
|
||||
open final get() = 4
|
||||
<!INCOMPATIBLE_MODIFIERS!>open<!> <!INCOMPATIBLE_MODIFIERS!>final<!> get() = 4
|
||||
|
||||
public public class B(public public val z: Int = 1) {
|
||||
public public val y: Int = 2
|
||||
public <!REPEATED_MODIFIER!>public<!> class B(public <!REPEATED_MODIFIER!>public<!> val z: Int = 1) {
|
||||
public <!REPEATED_MODIFIER!>public<!> val y: Int = 2
|
||||
|
||||
public val x: Int
|
||||
public public get() = 3
|
||||
public <!REPEATED_MODIFIER!>public<!> get() = 3
|
||||
}
|
||||
|
||||
public public object C {
|
||||
public public val y: Int = 1
|
||||
public public fun z(): Int = 1
|
||||
public <!REPEATED_MODIFIER!>public<!> object C {
|
||||
public <!REPEATED_MODIFIER!>public<!> val y: Int = 1
|
||||
public <!REPEATED_MODIFIER!>public<!> fun z(): Int = 1
|
||||
}
|
||||
}
|
||||
|
||||
public public val bar: Int = 1
|
||||
public <!REPEATED_MODIFIER!>public<!> val bar: Int = 1
|
||||
|
||||
public public fun foo(): Int = 1
|
||||
public <!REPEATED_MODIFIER!>public<!> fun foo(): Int = 1
|
||||
|
||||
fun test() {
|
||||
public public class B(public public val z: Int = 1) {
|
||||
public public val y: Int = 2
|
||||
public <!REPEATED_MODIFIER!>public<!> class B(public <!REPEATED_MODIFIER!>public<!> val z: Int = 1) {
|
||||
public <!REPEATED_MODIFIER!>public<!> val y: Int = 2
|
||||
|
||||
public val x: Int
|
||||
public public get() = 3
|
||||
public <!REPEATED_MODIFIER!>public<!> get() = 3
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user