diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-17 11:09:46 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-17 11:09:46 -0800 |
commit | 682dbfaf670ee22568a25ab15f61707e9942f764 (patch) | |
tree | 99ed8568386fdf7164d5766191fc8e6648e75875 /test | |
parent | 80bb7ec3687c8ac2f5fc848973d7ef101888ce2b (diff) | |
parent | bbf0eb28fae4d4312518aa25de062f2323a0098c (diff) | |
download | scala-682dbfaf670ee22568a25ab15f61707e9942f764.tar.gz scala-682dbfaf670ee22568a25ab15f61707e9942f764.tar.bz2 scala-682dbfaf670ee22568a25ab15f61707e9942f764.zip |
Merge pull request #1707 from retronym/ticket/5390
SI-5390 Detect forward reference of case class apply
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t5390.check | 4 | ||||
-rw-r--r-- | test/files/neg/t5390.scala | 10 | ||||
-rw-r--r-- | test/files/neg/t5390b.check | 4 | ||||
-rw-r--r-- | test/files/neg/t5390b.scala | 10 | ||||
-rw-r--r-- | test/files/neg/t5390c.check | 4 | ||||
-rw-r--r-- | test/files/neg/t5390c.scala | 10 | ||||
-rw-r--r-- | test/files/neg/t5390d.check | 4 | ||||
-rw-r--r-- | test/files/neg/t5390d.scala | 10 | ||||
-rw-r--r-- | test/files/pos/t5390.scala | 11 |
9 files changed, 67 insertions, 0 deletions
diff --git a/test/files/neg/t5390.check b/test/files/neg/t5390.check new file mode 100644 index 0000000000..6a0129b898 --- /dev/null +++ b/test/files/neg/t5390.check @@ -0,0 +1,4 @@ +t5390.scala:7: error: forward reference extends over definition of value b + val b = a.B("") + ^ +one error found diff --git a/test/files/neg/t5390.scala b/test/files/neg/t5390.scala new file mode 100644 index 0000000000..dd628f8851 --- /dev/null +++ b/test/files/neg/t5390.scala @@ -0,0 +1,10 @@ +class A { + object B { def apply(s: String) = 0} +} + +object X { + def foo { + val b = a.B("") + val a = new A + } +}
\ No newline at end of file diff --git a/test/files/neg/t5390b.check b/test/files/neg/t5390b.check new file mode 100644 index 0000000000..cbf8fafa6b --- /dev/null +++ b/test/files/neg/t5390b.check @@ -0,0 +1,4 @@ +t5390b.scala:7: error: forward reference extends over definition of value b + val b = a.B("") + ^ +one error found diff --git a/test/files/neg/t5390b.scala b/test/files/neg/t5390b.scala new file mode 100644 index 0000000000..c3373b87d3 --- /dev/null +++ b/test/files/neg/t5390b.scala @@ -0,0 +1,10 @@ +class A { + case class B(s: String) +} + +object X { + def foo { + val b = a.B("") + val a = new A + } +}
\ No newline at end of file diff --git a/test/files/neg/t5390c.check b/test/files/neg/t5390c.check new file mode 100644 index 0000000000..f8a794d690 --- /dev/null +++ b/test/files/neg/t5390c.check @@ -0,0 +1,4 @@ +t5390c.scala:7: error: forward reference extends over definition of value b + val b = new a.B("") + ^ +one error found diff --git a/test/files/neg/t5390c.scala b/test/files/neg/t5390c.scala new file mode 100644 index 0000000000..6b11576611 --- /dev/null +++ b/test/files/neg/t5390c.scala @@ -0,0 +1,10 @@ +class A { + case class B(s: String) +} + +object X { + def foo { + val b = new a.B("") + val a = new A + } +}
\ No newline at end of file diff --git a/test/files/neg/t5390d.check b/test/files/neg/t5390d.check new file mode 100644 index 0000000000..daa29142e7 --- /dev/null +++ b/test/files/neg/t5390d.check @@ -0,0 +1,4 @@ +t5390d.scala:7: error: forward reference extends over definition of value b + val b = a.B.toString + ^ +one error found diff --git a/test/files/neg/t5390d.scala b/test/files/neg/t5390d.scala new file mode 100644 index 0000000000..7a2671b443 --- /dev/null +++ b/test/files/neg/t5390d.scala @@ -0,0 +1,10 @@ +class A { + case class B(s: String) +} + +object X { + def foo { + val b = a.B.toString + val a = new A + } +}
\ No newline at end of file diff --git a/test/files/pos/t5390.scala b/test/files/pos/t5390.scala new file mode 100644 index 0000000000..36febb6a58 --- /dev/null +++ b/test/files/pos/t5390.scala @@ -0,0 +1,11 @@ +class A { + case class B[A](s: String) +} + +object X { + def foo { + val a = new A + val b = new a.B[c.type]("") // not a forward reference + val c = "" + } +}
\ No newline at end of file |