added more 'abstract' modifier checks; added 'ClassModifiers'

This commit is contained in:
svtk
2011-09-08 15:14:22 +04:00
parent 73b4fa2ea1
commit dd0b3c8f0e
24 changed files with 258 additions and 161 deletions
+19 -1
View File
@@ -47,4 +47,22 @@ abstract class <error>A10</error> {
<error>abstract</error> val i: Int
<error>abstract</error> fun foo(): fun(Int): Int
val <error>j</error>: Int
fun <error>foo1</error>(): fun(Int): Int
fun <error>foo1</error>(): fun(Int): Int
//creating an instance
abstract class B1(
val i: Int,
val s: String
) {
}
class B2() : B1(1, "r") {}
abstract class B3(i: Int) {
this(): this(1)
}
fun foo(a: B3) {
val a = <error>B3()</error>
val b = <error>B1(2, "s")</error>
}
@@ -1,13 +1,13 @@
abstract class A() {
abstract fun equals(a : Any?) : Boolean
class A() {
fun equals(a : Any?) : Boolean = false
}
abstract class B() {
abstract fun equals(a : Any?) : Boolean?
class B() {
fun equals(a : Any?) : Boolean? = false
}
abstract class C() {
abstract fun equals(a : Any?) : Int
class C() {
fun equals(a : Any?) : Int = 0
}
fun f(): Unit {
+2 -2
View File
@@ -40,9 +40,9 @@ fun Int.foo() = this
namespace null_safety {
fun parse(cmd: String): Command? { return null }
abstract class Command() {
class Command() {
// fun equals(other : Any?) : Boolean
abstract val foo : Int
val foo : Int = 0
}
fun Any.equals(other : Any?) : Boolean = true
+10 -10
View File
@@ -65,16 +65,16 @@ abstract class Range1() {
abstract fun iterator() : Iterator<Int>
}
fun test() {
for (i in <error>NotRange1()</error>);
for (i in <error>NotRange2()</error>);
for (i in <error>NotRange3()</error>);
for (i in <error>NotRange4()</error>);
for (i in <error>NotRange5()</error>);
for (i in <error>NotRange6()</error>);
for (i in <error>NotRange7()</error>);
for (i in Range0());
for (i in Range1());
fun test(notRange1: NotRange1, notRange2: NotRange2, notRange3: NotRange3, notRange4: NotRange4, notRange5: NotRange5, notRange6: NotRange6, notRange7: NotRange7, range0: Range0, range1: Range1) {
for (i in <error>notRange1</error>);
for (i in <error>notRange2</error>);
for (i in <error>notRange3</error>);
for (i in <error>notRange4</error>);
for (i in <error>notRange5</error>);
for (i in <error>notRange6</error>);
for (i in <error>notRange7</error>);
for (i in range0);
for (i in range1);
for (i in (ArrayList<Int>() : List<Int>));
}