summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-09-23 05:22:50 -0700
committerJason Zaugg <jzaugg@gmail.com>2013-09-23 05:22:50 -0700
commitc3ec1c2ac45d9fb261d40fd1baefc2f6d965ac36 (patch)
treefbf498f26b6f4945663c6955fd9a1fb771026f20 /test/files/neg
parent6f6d102a83f1b890f4061082b4b1ec5733c8dde2 (diff)
parenta5bae8f17cb96feb75fdc81480827ce44746fd1d (diff)
downloadscala-c3ec1c2ac45d9fb261d40fd1baefc2f6d965ac36.tar.gz
scala-c3ec1c2ac45d9fb261d40fd1baefc2f6d965ac36.tar.bz2
scala-c3ec1c2ac45d9fb261d40fd1baefc2f6d965ac36.zip
Merge pull request #2956 from som-snytt/issue/7848-forgotten-interp-msg
SI-7848 Xlint says what looks interpolated
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/forgot-interpolator.check21
-rw-r--r--test/files/neg/forgot-interpolator.scala32
-rw-r--r--test/files/neg/t7848-interp-warn.check9
-rw-r--r--test/files/neg/t7848-interp-warn.flags1
-rw-r--r--test/files/neg/t7848-interp-warn.scala13
5 files changed, 73 insertions, 3 deletions
diff --git a/test/files/neg/forgot-interpolator.check b/test/files/neg/forgot-interpolator.check
index f6de4d7b3a..a96431841f 100644
--- a/test/files/neg/forgot-interpolator.check
+++ b/test/files/neg/forgot-interpolator.check
@@ -1,9 +1,24 @@
-forgot-interpolator.scala:4: warning: looks like an interpolated String; did you forget the interpolator?
+forgot-interpolator.scala:4: warning: `$bippy` looks like an interpolated identifier! Did you forget the interpolator?
def f = "Put the $bippy in the $bippy!" // warn
^
-forgot-interpolator.scala:14: warning: looks like an interpolated String; did you forget the interpolator?
+forgot-interpolator.scala:14: warning: That looks like an interpolated expression! Did you forget the interpolator?
def f = """Put the ${println("bippy")} in the bippy!""" // warn
^
+forgot-interpolator.scala:30: warning: `$beppo` looks like an interpolated identifier! Did you forget the interpolator?
+ def f = "$beppo was a marx bros who saw dollars." // warn
+ ^
+forgot-interpolator.scala:34: warning: `$aleppo` looks like an interpolated identifier! Did you forget the interpolator?
+ def f = "$aleppo is a pepper and a city." // warn
+ ^
+forgot-interpolator.scala:40: warning: `$bar` looks like an interpolated identifier! Did you forget the interpolator?
+ def f = "$bar is private, shall we warn just in case?" // warn
+ ^
+forgot-interpolator.scala:45: warning: `$hippo` looks like an interpolated identifier! Did you forget the interpolator?
+ def h = "$hippo takes an implicit" // warn
+ ^
+forgot-interpolator.scala:37: warning: private method in class Bar is never used
+ private def bar = 8
+ ^
error: No warnings can be incurred under -Xfatal-warnings.
-two warnings found
+7 warnings found
one error found
diff --git a/test/files/neg/forgot-interpolator.scala b/test/files/neg/forgot-interpolator.scala
index d67db82643..5067f1dce9 100644
--- a/test/files/neg/forgot-interpolator.scala
+++ b/test/files/neg/forgot-interpolator.scala
@@ -13,3 +13,35 @@ class B {
class C {
def f = """Put the ${println("bippy")} in the bippy!""" // warn
}
+
+package object test {
+ def aleppo = 9
+ def greppo(n: Int) = ???
+ def zappos(n: Int)(implicit ord: math.Ordering[Int]) = ???
+ def hippo(implicit n: Int) = ???
+}
+
+package test {
+ // not sure if overloading is kosher in pkg obj yet
+ class Doo {
+ def beppo(i: Int) = 8 * i
+ def beppo = 8
+ class Dah extends Doo {
+ def f = "$beppo was a marx bros who saw dollars." // warn
+ }
+ }
+ class E {
+ def f = "$aleppo is a pepper and a city." // warn
+ }
+ class Bar {
+ private def bar = 8
+ }
+ class Baz extends Bar {
+ def f = "$bar is private, shall we warn just in case?" // warn
+ }
+ class G {
+ def g = "$greppo takes an arg" // no warn
+ def z = "$zappos takes an arg too" // no warn
+ def h = "$hippo takes an implicit" // warn
+ }
+}
diff --git a/test/files/neg/t7848-interp-warn.check b/test/files/neg/t7848-interp-warn.check
new file mode 100644
index 0000000000..cbdc9f4c27
--- /dev/null
+++ b/test/files/neg/t7848-interp-warn.check
@@ -0,0 +1,9 @@
+t7848-interp-warn.scala:7: warning: `$foo` looks like an interpolated identifier! Did you forget the interpolator?
+ "An important $foo message!"
+ ^
+t7848-interp-warn.scala:11: warning: That looks like an interpolated expression! Did you forget the interpolator?
+ "A doubly important ${foo * 2} message!"
+ ^
+error: No warnings can be incurred under -Xfatal-warnings.
+two warnings found
+one error found
diff --git a/test/files/neg/t7848-interp-warn.flags b/test/files/neg/t7848-interp-warn.flags
new file mode 100644
index 0000000000..7949c2afa2
--- /dev/null
+++ b/test/files/neg/t7848-interp-warn.flags
@@ -0,0 +1 @@
+-Xlint -Xfatal-warnings
diff --git a/test/files/neg/t7848-interp-warn.scala b/test/files/neg/t7848-interp-warn.scala
new file mode 100644
index 0000000000..bb3eeff60c
--- /dev/null
+++ b/test/files/neg/t7848-interp-warn.scala
@@ -0,0 +1,13 @@
+
+package test
+
+object Test {
+ def f = {
+ val foo = "bar"
+ "An important $foo message!"
+ }
+ def g = {
+ val foo = "bar"
+ "A doubly important ${foo * 2} message!"
+ }
+}