Regular modifier checker implemented (initial version). A set of tests fixed accordingly.
Most of modifier diagnostic is expressed by REDUNDANT_MODIFIER, INCOMPATIBLE_MODIFIERS, REPEATED_MODIFIER, WRONG_MODIFIER_TARGET, WRONG_MODIFIER_PARENT. A set of modifier diagnostics is not in use now (but not deleted yet).
This commit is contained in:
+12
-12
@@ -2,18 +2,18 @@
|
||||
|
||||
// KT-3464 Front-end shouldn't allow override modifier in class declaration
|
||||
|
||||
<!ILLEGAL_MODIFIER!>override<!> class A {
|
||||
<!ILLEGAL_MODIFIER!>override<!> companion object {}
|
||||
<!ILLEGAL_MODIFIER!>open<!> companion object {}
|
||||
<!ILLEGAL_MODIFIER!>abstract<!> companion object {}
|
||||
<!ILLEGAL_MODIFIER!>final<!> companion object {}
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> class A {
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> companion object {}
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> companion object {}
|
||||
<!WRONG_MODIFIER_TARGET!>abstract<!> companion object {}
|
||||
<!WRONG_MODIFIER_TARGET!>final<!> companion object {}
|
||||
}
|
||||
|
||||
<!ILLEGAL_MODIFIER!>override<!> object B1 {}
|
||||
<!ILLEGAL_MODIFIER!>open<!> object B2 {}
|
||||
<!ILLEGAL_MODIFIER!>abstract<!> object B3 {}
|
||||
<!ILLEGAL_MODIFIER!>final<!> object B4 {}
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> object B1 {}
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> object B2 {}
|
||||
<!WRONG_MODIFIER_TARGET!>abstract<!> object B3 {}
|
||||
<!WRONG_MODIFIER_TARGET!>final<!> object B4 {}
|
||||
|
||||
<!ILLEGAL_MODIFIER!>override<!> enum class C {}
|
||||
<!ILLEGAL_MODIFIER!>override<!> interface D {}
|
||||
<!ILLEGAL_MODIFIER!>override<!> annotation class E
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> enum class C {}
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> interface D {}
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> annotation class E
|
||||
Reference in New Issue
Block a user