diff options
author | Simon Ochsenreither <simon@ochsenreither.de> | 2012-09-17 13:45:43 +0200 |
---|---|---|
committer | Simon Ochsenreither <simon@ochsenreither.de> | 2012-09-21 18:20:35 +0200 |
commit | 990b3c7682d9b0655518e20274673aade75dbed0 (patch) | |
tree | 5850654506a86fdf3ec63446d7b2008cbe6c4c09 /test/files/run/t6380.check | |
parent | b0a4d536482c6582bafb383a30f553862aceb00f (diff) | |
download | scala-990b3c7682d9b0655518e20274673aade75dbed0.tar.gz scala-990b3c7682d9b0655518e20274673aade75dbed0.tar.bz2 scala-990b3c7682d9b0655518e20274673aade75dbed0.zip |
SI-6380 #1 Add @throws[Exception]
This change allows an additional notation of the @throws annotation:
Old-style: @throws(classOf[Exception])
New-style: @throws[Exception]
The optional String argument moves @throws in line with @deprecated,
@migration, etc. and prevents confusion caused by the default inheritance
of ScalaDoc comments and the non-inheritance of annotations.
Before: /** This method does ...
* @throws IllegalArgumentException if `a` is less than 0. */
@throws(classOf[IllegalArgumentException])
def foo(a: Int) = ...
Now: /** This method does ... */
@throws[IllegalArgumentException]("if `a` is less than 0")
def foo(a: Int) = ...
ScalaDoc @throws tags remain supported for cases where documentation of
thrown exceptions is needed, but are not supposed to be added to the
exception attribute of the class file.
In this commit the necessary compiler support is added.
The code to extract exceptions from annotations is now shared instead
of being duplicated all over the place.
The change is completely source and binary compatible, except that the code
is now enforcing that the type thrown is a subtype of Throwable as mandated
by the JVM spec instead of allowing something like @throws(classOf[String]).
Not in this commit:
- ScalaDoc support to add the String argument to ScalaDoc's exception list
- Adaption of the library
Diffstat (limited to 'test/files/run/t6380.check')
-rw-r--r-- | test/files/run/t6380.check | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/run/t6380.check b/test/files/run/t6380.check new file mode 100644 index 0000000000..912525ed66 --- /dev/null +++ b/test/files/run/t6380.check @@ -0,0 +1,7 @@ +List(class java.lang.Exception) +List(class java.lang.Throwable) +List(class java.lang.RuntimeException) +List(class java.lang.IllegalArgumentException, class java.util.NoSuchElementException) +List(class java.lang.IndexOutOfBoundsException, class java.lang.IndexOutOfBoundsException) +List(class java.lang.IllegalStateException, class java.lang.IllegalStateException) +List(class java.lang.NullPointerException, class java.lang.NullPointerException) |