summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-09-12 00:40:14 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-09-12 00:40:14 -0700
commitd9a4e94f8716b810e8122c6494b1718410238668 (patch)
treef55b336022b6f0ba4a83e5332d247bb9071c48e0 /test
parentea651e6fe187920d207aa5fe3c645d294e72e627 (diff)
parent1776337253744482b7116326413de5e260a5984e (diff)
downloadscala-d9a4e94f8716b810e8122c6494b1718410238668.tar.gz
scala-d9a4e94f8716b810e8122c6494b1718410238668.tar.bz2
scala-d9a4e94f8716b810e8122c6494b1718410238668.zip
Merge pull request #1289 from retronym/ticket/6276-2
Avoid spurious warning for `def foo = x.foo`.
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t6276.check16
-rw-r--r--test/files/neg/t6276.scala17
2 files changed, 27 insertions, 6 deletions
diff --git a/test/files/neg/t6276.check b/test/files/neg/t6276.check
index 8bd92cf293..0b3dfa5531 100644
--- a/test/files/neg/t6276.check
+++ b/test/files/neg/t6276.check
@@ -1,13 +1,19 @@
-t6276.scala:4: error: method a does nothing other than call itself recursively
+t6276.scala:4: error: method a in class C does nothing other than call itself recursively
def a: Any = a // warn
^
-t6276.scala:5: error: value b does nothing other than call itself recursively
+t6276.scala:5: error: value b in class C does nothing other than call itself recursively
val b: Any = b // warn
^
-t6276.scala:10: error: method a does nothing other than call itself recursively
+t6276.scala:7: error: method c in class C does nothing other than call itself recursively
+ def c: Any = this.c // warn
+ ^
+t6276.scala:8: error: method d in class C does nothing other than call itself recursively
+ def d: Any = C.this.d // warn
+ ^
+t6276.scala:13: error: method a does nothing other than call itself recursively
def a: Any = a // warn
^
-t6276.scala:19: error: method a does nothing other than call itself recursively
+t6276.scala:22: error: method a does nothing other than call itself recursively
def a = a // warn
^
-four errors found
+6 errors found
diff --git a/test/files/neg/t6276.scala b/test/files/neg/t6276.scala
index 8333618964..bd0a473f71 100644
--- a/test/files/neg/t6276.scala
+++ b/test/files/neg/t6276.scala
@@ -1,8 +1,11 @@
object Test {
def foo(a: Int, b: Int, c: Int) {
- new {
+ class C {
def a: Any = a // warn
val b: Any = b // warn
+
+ def c: Any = this.c // warn
+ def d: Any = C.this.d // warn
}
def method {
@@ -25,5 +28,17 @@ object Test {
val b: Any = {println(""); b}
def c(i: Int): Any = c(i - 0)
}
+
+ class D {
+ def other: D = null
+ def foo: Any = other.foo
+ }
+
+ class E {
+ def foo: Any = 0
+ class D extends E {
+ override def foo: Any = E.this.foo
+ }
+ }
}
}