diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2012-09-12 00:40:14 -0700 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2012-09-12 00:40:14 -0700 |
commit | d9a4e94f8716b810e8122c6494b1718410238668 (patch) | |
tree | f55b336022b6f0ba4a83e5332d247bb9071c48e0 /test/files/neg | |
parent | ea651e6fe187920d207aa5fe3c645d294e72e627 (diff) | |
parent | 1776337253744482b7116326413de5e260a5984e (diff) | |
download | scala-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/files/neg')
-rw-r--r-- | test/files/neg/t6276.check | 16 | ||||
-rw-r--r-- | test/files/neg/t6276.scala | 17 |
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 + } + } } } |