From 69aa78bd1bc593f878e44b2abde61dbb56391204 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 14 Dec 2010 20:55:26 +0000 Subject: Fixed various issues with -Ywarn-dead-code. enjoy fewer spurious warnings. Closes #1681, no review. --- test/files/neg/check-dead.check | 7 +++++++ test/files/neg/check-dead.flags | 1 + test/files/neg/check-dead.scala | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 test/files/neg/check-dead.check create mode 100644 test/files/neg/check-dead.flags create mode 100644 test/files/neg/check-dead.scala (limited to 'test') diff --git a/test/files/neg/check-dead.check b/test/files/neg/check-dead.check new file mode 100644 index 0000000000..be4de3060b --- /dev/null +++ b/test/files/neg/check-dead.check @@ -0,0 +1,7 @@ +check-dead.scala:27: error: dead code following this construct + throw new Exception + ^ +check-dead.scala:31: error: dead code following this construct + throw new Exception + ^ +two errors found diff --git a/test/files/neg/check-dead.flags b/test/files/neg/check-dead.flags new file mode 100644 index 0000000000..c7d406c649 --- /dev/null +++ b/test/files/neg/check-dead.flags @@ -0,0 +1 @@ +-Ywarn-dead-code -Xfatal-warnings \ No newline at end of file diff --git a/test/files/neg/check-dead.scala b/test/files/neg/check-dead.scala new file mode 100644 index 0000000000..851e81d886 --- /dev/null +++ b/test/files/neg/check-dead.scala @@ -0,0 +1,34 @@ +package dummy + +object Error { + def soSorry(msg: String = "sorry"): Nothing = + throw new Exception("we have a problem: "+msg) +} + +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") +} + +class Deads { + def x1 = synchronized { + throw new Exception + 5 * 5 + } + def x2: Int = synchronized { + throw new Exception + return 5 + } +} \ No newline at end of file -- cgit v1.2.3