diff options
author | Som Snytt <som.snytt@gmail.com> | 2014-05-22 09:02:18 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2014-07-08 21:28:35 -0700 |
commit | 2103dbc5230ddf2a369389f179f4ef70eae344f2 (patch) | |
tree | 28c5cd4446ea34018daf746760d896c39388f58c /test/files/run | |
parent | d1fa9ac2dc8a9432925e3c7fb4d63e62bdc98a29 (diff) | |
download | scala-2103dbc5230ddf2a369389f179f4ef70eae344f2.tar.gz scala-2103dbc5230ddf2a369389f179f4ef70eae344f2.tar.bz2 scala-2103dbc5230ddf2a369389f179f4ef70eae344f2.zip |
SI-8610 -Xlint is multichoice option
Make -Xlint a "multichoice" option for purposes of option parsing.
This allows turning on "lint with these warnings" instead of only
"turn off these warnings but enable other lint warnings".
```
$ scalac -Xlint:warn-adapted-args linty.scala # lint plus a warning
$ scalac -Xlint warn-adapted-args linty.scala # same
$ scalac -Xlint linty.scala # same as now
$ scalac -Xlint -- linty.scala # ok, not necessary
$ scalac -Xlint _ -- linty.scala # another funky underscore
```
This would also enable Xlint options that are not standalone options,
although that is not implemented in this commit. For example,
`-Xlint:no-missing-interpolator` could be used to disable that
warning. (There is no `-Xoption:flavor=off` syntax.) (`no-` switches
would not be enabled by `_`.)
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t8610.check | 10 | ||||
-rw-r--r-- | test/files/run/t8610.flags | 1 | ||||
-rw-r--r-- | test/files/run/t8610.scala | 13 |
3 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t8610.check b/test/files/run/t8610.check new file mode 100644 index 0000000000..077382fb1c --- /dev/null +++ b/test/files/run/t8610.check @@ -0,0 +1,10 @@ +t8610.scala:4: warning: `$name` looks like an interpolated identifier! Did you forget the interpolator? + def x = "Hi, $name" // missing interp + ^ +t8610.scala:6: warning: Adapting argument list by creating a 2-tuple: this may not be what you want. + signature: X.f(p: (Int, Int)): Int + given arguments: 3, 4 + after adaptation: X.f((3, 4): (Int, Int)) + def g = f(3, 4) // adapted + ^ +Hi, $name diff --git a/test/files/run/t8610.flags b/test/files/run/t8610.flags new file mode 100644 index 0000000000..edcb5f4d0c --- /dev/null +++ b/test/files/run/t8610.flags @@ -0,0 +1 @@ +-Xlint:warn-adapted-args diff --git a/test/files/run/t8610.scala b/test/files/run/t8610.scala new file mode 100644 index 0000000000..dd9e8e861e --- /dev/null +++ b/test/files/run/t8610.scala @@ -0,0 +1,13 @@ + +// flags don't warn on u +case class X(name: String) { + def x = "Hi, $name" // missing interp + def f(p: (Int, Int)): Int = p._1 * p._2 + def g = f(3, 4) // adapted + def u: Unit = () // unitarian universalist +} + +object Test extends App { + // poignant demonstration + Console println X("Bob").x +} |