New modifier checking strategy: only one error but any number of warnings, a warning can never shadow an error

This commit is contained in:
Mikhail Glukhikh
2015-09-23 12:28:48 +03:00
parent 55c7df8b8d
commit 315a304c8e
6 changed files with 32 additions and 13 deletions
@@ -1,6 +1,9 @@
compiler/testData/cli/jvm/multipleTextRangesInDiagnosticsOrder.kt:6:14: error: cannot weaken access privilege 'public' for 'c' in 'A'
override protected private val c: Int
^
compiler/testData/cli/jvm/multipleTextRangesInDiagnosticsOrder.kt:6:14: error: modifier 'protected' is incompatible with 'private'
override protected private val c: Int
^
compiler/testData/cli/jvm/multipleTextRangesInDiagnosticsOrder.kt:6:24: error: modifier 'private' is incompatible with 'protected'
override protected private val c: Int
^
@@ -0,0 +1 @@
<!WRONG_MODIFIER_TARGET, DEPRECATED_MODIFIER_PAIR!>inner<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class Outer(val x: Int)
@@ -0,0 +1,11 @@
package
@kotlin.data() public final class Outer {
public constructor Outer(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): Outer
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -119,7 +119,7 @@ class IllegalModifiers7() {
class IllegalModifiers8 {
<!WRONG_MODIFIER_TARGET!>abstract<!>
<!WRONG_MODIFIER_TARGET!>enum<!>
<!REDUNDANT_MODIFIER!>open<!>
<!REDUNDANT_MODIFIER, WRONG_MODIFIER_TARGET, REDUNDANT_MODIFIER!>open<!>
<!WRONG_MODIFIER_TARGET!>inner<!>
<!WRONG_MODIFIER_TARGET!>annotation<!>
<!WRONG_MODIFIER_TARGET!>override<!>
@@ -144,7 +144,7 @@ class IllegalModifiers9 {
class IllegalModifiers10
<!WRONG_MODIFIER_TARGET!>abstract<!>
<!WRONG_MODIFIER_TARGET!>enum<!>
<!REDUNDANT_MODIFIER!>open<!>
<!REDUNDANT_MODIFIER, WRONG_MODIFIER_TARGET, REDUNDANT_MODIFIER!>open<!>
<!WRONG_MODIFIER_TARGET!>inner<!>
<!WRONG_MODIFIER_TARGET!>annotation<!>
<!WRONG_MODIFIER_TARGET!>override<!>