Modifiers checks were moved to DeclarationsChecker; added 'open' modifier checks

This commit is contained in:
svtk
2011-09-29 13:34:41 +04:00
parent 7b2c5132f7
commit 225913126b
24 changed files with 460 additions and 334 deletions
+8 -8
View File
@@ -1,13 +1,13 @@
open trait A {
trait A {
fun foo() {}
}
open trait B : A, <error>E</error> {}
open trait C : B {}
open trait D : <error>B</error> {}
open trait E : <error>F</error> {}
open trait F : <error>D</error>, C {}
open trait G : F {}
open trait H : F {}
trait B : A, <error>E</error> {}
trait C : B {}
trait D : <error>B</error> {}
trait E : <error>F</error> {}
trait F : <error>D</error>, C {}
trait G : F {}
trait H : F {}
val a : A? = null
val b : B? = null
@@ -1,13 +1,13 @@
open trait A {
trait A {
fun foo() {}
}
open trait B : A, <!CYCLIC_INHERITANCE_HIERARCHY!>E<!> {}
open trait C : B {}
open trait D : <!CYCLIC_INHERITANCE_HIERARCHY!>B<!> {}
open trait E : <!CYCLIC_INHERITANCE_HIERARCHY!>F<!> {}
open trait F : <!CYCLIC_INHERITANCE_HIERARCHY!>D<!>, C {}
open trait G : F {}
open trait H : F {}
trait B : A, <!CYCLIC_INHERITANCE_HIERARCHY!>E<!> {}
trait C : B {}
trait D : <!CYCLIC_INHERITANCE_HIERARCHY!>B<!> {}
trait E : <!CYCLIC_INHERITANCE_HIERARCHY!>F<!> {}
trait F : <!CYCLIC_INHERITANCE_HIERARCHY!>D<!>, C {}
trait G : F {}
trait H : F {}
val a : A? = null
val b : B? = null
@@ -0,0 +1,7 @@
namespace a
abstract class A() {
<!INCOMPATIBLE_MODIFIERS!>abstract<!> <!INCOMPATIBLE_MODIFIERS!>final<!> fun f()
abstract <!REDUNDANT_MODIFIER!>open<!> fun g()
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>open<!> fun h() {}
}
@@ -1,4 +0,0 @@
// "Make 'foo' abstract" "false"
class B() {
final fun <caret>foo()
}
@@ -4,5 +4,5 @@ abstract class B() {
}
abstract class A() : B() {
<caret>abstract override fun foo()
abstract <caret>override fun foo()
}
@@ -4,5 +4,5 @@ abstract class B() {
}
abstract class A() : B() {
<caret>abstract override fun foo()
abstract override<caret> fun foo()
}
@@ -4,5 +4,5 @@ abstract class B() {
}
abstract class A() : B() {
<caret>abstract open override fun foo()
abstract <caret>open override fun foo()
}
@@ -4,5 +4,5 @@ abstract class B() {
}
abstract class A() : B() {
<caret>abstract override open fun foo()
abstract override <caret>open fun foo()
}