Skip to content

Commit dcc0e64

Browse files
committed
Add tests
1 parent 8c2d073 commit dcc0e64

12 files changed

+88
-22
lines changed

tests/init/full/neg/global-cycle1.scala

Lines changed: 0 additions & 10 deletions
This file was deleted.

tests/init/full/neg/global-cycle2.scala

Lines changed: 0 additions & 7 deletions
This file was deleted.

tests/init/neg/global-cycle1.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
object A { // error
2+
val a: Int = B.b
3+
}
4+
5+
object B { // error
6+
val b: Int = A.a
7+
}
8+
9+
@main
10+
def Test = print(A.a)

tests/init/neg/global-cycle2.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object A { // error
2+
val a: Int = B.foo()
3+
}
4+
5+
object B {
6+
def foo(): Int = A.a * 2
7+
}

tests/init/full/neg/global-cycle3.scala renamed to tests/init/neg/global-cycle3.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ class A(x: Int) {
22
def foo(): Int = B.a + 10
33
}
44

5-
object B {
6-
val a: Int = A(4).foo() // error
5+
object B { // error
6+
val a: Int = A(4).foo()
77
}

tests/init/full/neg/global-cycle4.scala renamed to tests/init/neg/global-cycle4.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ class D(x: Int) {
1414
def bar(): A = if x > 0 then new B else new C
1515
}
1616

17-
object O {
18-
val a: Int = D(5).bar().foo() // error
17+
object O { // error
18+
val a: Int = D(5).bar().foo()
1919
}

tests/init/neg/global-cycle5.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class C(b: B)
2+
3+
object O extends C(B()) { // error
4+
val a: Int = new B().n
5+
6+
object A {
7+
val b: Int = 5
8+
}
9+
10+
val c: Int = A.b + 4
11+
}
12+
13+
class B {
14+
val n: Int = O.A.b
15+
}

tests/init/full/neg/i9176.scala renamed to tests/init/neg/i9176.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
class Foo(val opposite: Foo)
22
case object A extends Foo(B) // error
3-
case object B extends Foo(A) // error
3+
case object B extends Foo(A)
44
object Test {
55
def main(args: Array[String]): Unit = {
66
println(A.opposite)

tests/init/neg/t5366.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class IdAndMsg(val id: Int, val msg: String = "")
2+
3+
case object ObjA extends IdAndMsg(1) // error
4+
case object ObjB extends IdAndMsg(2) // error
5+
6+
object IdAndMsg { // error
7+
val values = List(ObjA , ObjB)
8+
}
9+
10+
object Test {
11+
def main(args: Array[String]): Unit = {
12+
ObjA
13+
println(IdAndMsg.values)
14+
}
15+
}

tests/init/neg/t9115.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
object D { // error
2+
def aaa = 1 //that’s the reason
3+
class Z (depends: Any)
4+
case object D1 extends Z(aaa) // 'null' when calling D.D1 first time // error
5+
case object D2 extends Z(aaa) // 'null' when calling D.D2 first time // error
6+
println(D1)
7+
println(D2)
8+
}

tests/init/neg/t9261.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
sealed abstract class OrderType(val reverse: OrderType)
2+
case object Buy extends OrderType(Sell) // error
3+
case object Sell extends OrderType(Buy) // error

tests/init/neg/t9360.scala

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class BaseClass(s: String) {
2+
def print: Unit = ()
3+
}
4+
5+
object Obj { // error
6+
val s: String = "hello"
7+
8+
object AObj extends BaseClass(s) // error
9+
10+
object BObj extends BaseClass(s) // error
11+
12+
val list = List(AObj, BObj)
13+
14+
def print = {
15+
println(list)
16+
}
17+
}
18+
19+
object ObjectInit {
20+
def main(args: Array[String]) = {
21+
Obj.AObj.print
22+
Obj.BObj.print
23+
Obj.print
24+
}
25+
}

0 commit comments

Comments
 (0)