diff options
Diffstat (limited to 'test/files/neg/check-dead.scala')
-rw-r--r-- | test/files/neg/check-dead.scala | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/test/files/neg/check-dead.scala b/test/files/neg/check-dead.scala index 851e81d886..2d5bccb21d 100644 --- a/test/files/neg/check-dead.scala +++ b/test/files/neg/check-dead.scala @@ -1,34 +1,37 @@ -package dummy - -object Error { - def soSorry(msg: String = "sorry"): Nothing = - throw new Exception("we have a problem: "+msg) +object Other { + def oops(msg: String = "xxx"): Nothing = throw new Exception(msg) // should not warn } class NoDeads { - def x = synchronized { throw new Exception } - def y[T](arg: T) = println("foo") - def z = this.y(throw new Exception) - - def dummy1: Int = synchronized { - val i = 10 + 2 - return i - } - def dummy1b: Int = synchronized { - val i = 10 + 2 - i - } - - def dummy2: String = Error.soSorry("we're dummies") -} + def y1(arg: Any) = println("foo") + def z1 = y1(throw new Exception) // should warn + + def y2[T](arg: T) = println("foo") + def z2 = y2(throw new Exception) // should warn -class Deads { - def x1 = synchronized { - throw new Exception + def y3[T](arg: => T) = println("foo") + def z3 = y3(throw new Exception) // should not warn: by name arg + + def nowarn1 = synchronized { throw new Exception } // should not warn: synchronized should be by name + + def nowarn2: Int = synchronized { // should not warn + val i = 10 + 2 + return i + } + def nowarn3: Int = synchronized { // should not warn + val i = 10 + 2 + i + } + + def nowarn4: String = Other.oops("don't warn about me") // should not warn + + def yeswarn1 = synchronized { + throw new Exception // should warn 5 * 5 } - def x2: Int = synchronized { - throw new Exception + def yeswarn2: Int = synchronized { + throw new Exception // should warn return 5 } -}
\ No newline at end of file +} + |